factor → tuple ( [(id | num | factor) {, (id | num | factor)}] )
expr → let [(id) {, (id)}] := [(expr) {, (expr)}] in expr
global → global [(id) {, (id)}] := [(expr) {, (expr)}]
comment → # [^#] #
fun → fun id := lexpr
lexpr → ( lambda id => (expr | lexpr) )