Environment innerEnv = seq.extendName(Environment.getEmptyEnvironment(), env).extend(declEnv);
seq.typecheck(env.extend(new NameBindingImpl("this", new ClassType(new Reference<>(innerEnv), new Reference<>(innerEnv), new LinkedList<>(), classVarTypeBinding.getClassDecl().getName()))), Optional.empty());
Environment environment = seq.extendType(declEnv, declEnv.extend(env));
environment = seq.extendName(environment, environment.extend(env));
Environment nnames = seq.extend(environment, environment);
Environment objTee = TypeDeclUtils.getTypeEquivalentEnvironment(nnames.extend(declEnv));
Type classVarType = new ClassType(new Reference<>(nnames.extend(declEnv)), new Reference<>(objTee), new LinkedList<>(), classVarTypeBinding.getClassDecl().getName());
if (!(classVarType instanceof ClassType)) {