{α : Type (max u_1 u_2)} →
  {β : Type u_2} →
    [inst : BEq α] →
      [inst_1 : Hashable α] →
        [inst_2 : BEq β] →
          [inst_3 : Hashable β] →
            (motive : MProd (Std.HashMap β (Array α)) (Aesop.UnionFind α) → Sort u_3) →
              (r : MProd (Std.HashMap β (Array α)) (Aesop.UnionFind α)) →
                ((aOccs : Std.HashMap β (Array α)) → (clusters : Aesop.UnionFind α) → motive ⟨aOccs, clusters⟩) →
                  motive r