WIP: Compiler and Selector

Initial version of a compiler.
Positional arguments are significantly faster than named arguments and they create less memory pressure. Normally all this is fine, but this will be in hot code path.