typecheck: went over instantiate