Tree refinementArray = mkRefinementArray(pos, (ArrayList)refinements(parts, members).fst, owner, env);
        private Tree compoundType(int pos,                                  Type[] parts,                                  Scope members,                                  Symbol owner,                                  TEnv env) {            Tree[] partsT = new Tree[parts.length];            for (int i = 0; i < parts.length; ++i)                partsT[i] = typeAsValue(pos, parts[i], owner, env);            Tree refinementArray =                mkRefinementArray(pos,                                  (ArrayList)refinements(parts, members).fst,                                  owner,                                  env);            Tree[] constrArgs = new Tree[] {                gen.mkNewArray(pos, defs.CLASSTYPE_TYPE(), partsT, owner),                refinementArray            };            Tree constr =                gen.mkPrimaryConstructorGlobalRef(pos,                                                  defs.COMPOUNDTYPE_CLASS);            return gen.New(pos, gen.mkApply_V(constr, constrArgs));        }