Type resolvedType = null;
@Override
public Environment extendName(Environment env, Environment against) {
for (int i = 0; i < argNames.size(); i++) {
NameBinding oldBinding = argNames.get(i);
argNames.set(i, new NameBindingImpl(oldBinding.getName(), TypeResolver.resolve(oldBinding.getType(), against)));
}
if (resolvedType == null)
resolvedType = TypeResolver.resolve(type, against);
return env.extend(new NameBindingImpl(name, resolvedType));
}