Add ability to pass positional and keyword args
Use the stack as temp space
Convert to generating AST and bytecode from that
Add conditionals