Declaration with types test ====== let a: Num = 1 + 1 let add_a x: Num -> Num = x + a ====== (file (statement (decl (ident: "a") (type_annot (type_expr (type_ident (type_name: "Num") ) ) ) (expr (infix_expr (literal (integer: "1") ) (operator: "+") (literal (integer: "1") ) ) ) ) ) (statement (decl (ident: "add_a") (ident: "x") (type_annot (type_expr (func (type_ident (type_name: "Num") ) (type_expr (type_ident (type_name: "Num") ) ) ) ) ) (expr (infix_expr (ident: "x") (operator: "+") (ident: "a") ) ) ) ) (EOI: "") )