typecheck2