First attempt at implementing code generation described in feature #2

As simple way to have strongly typed arguments.