massive improvements to handling iterable args
update typechecker