check assignment types
Add func decl parameters to same level as locals
add typesystem spec and to makefile