Annotate generic types where possible
Remove completed TODO
Start to emit procedures
Emit procedure parameters