cleanup method annotation wrapper class
validate method annotations are derived from basetype
refactored type system. again. basically reimplementing java and lisp in python