using VarType instead of TypeVariable now