correct typecheck