Fix name of instantiated types
Add list.__add__ to builtin types
Allow unification of formal type parameter with itself
Handle type-check failure when calling generic function
Support both super and sub type constraints during constraint resolution
Generate actual arg types for both branches in call inference
Use formal argument type as type hint to actual argument type
Use formal type parameter nodes when parsing generic func signatures
Simplify argument parsing
Support name declaration for function's type parameters
Visit type parameters when visiting function signature
Handle non-signature explicit types for function
Implement name resolution for generic functions
Infer types of function signatures with type parmeters
Test that type-checking works with generic functions
Implement definition and calling of generic functions
Remove unused code
Add type parameter meta-type to function body
Remove unnecessary hack
Avoid re-completing type