move types into Types.java. typechecker now fails when bad types are unified