Functions
fn_param ::= lower_ident ":" type
fn_params ::= fn_param ( "," fn_param )*
| ""
fn_item ::= "fn" lower_ident "(" fn_params ")" "->" type "{" stmts "}"
fn_param ::= lower_ident ":" type
fn_params ::= fn_param ( "," fn_param )*
| ""
fn_item ::= "fn" lower_ident "(" fn_params ")" "->" type "{" stmts "}"