Basic Polymorphic Typechecking