SOURCE_FILE@[0; 24) FN_DEF@[0; 23) FN_KW@[0; 2) WHITESPACE@[2; 3) NAME@[3; 6) IDENT@[3; 6) "foo" PARAM_LIST@[6; 12) L_PAREN@[6; 7) PARAM@[7; 11) BIND_PAT@[7; 8) NAME@[7; 8) IDENT@[7; 8) "a" COLON@[8; 9) WHITESPACE@[9; 10) PATH_TYPE@[10; 11) PATH@[10; 11) PATH_SEGMENT@[10; 11) NAME_REF@[10; 11) IDENT@[10; 11) "A" R_PAREN@[11; 12) WHITESPACE@[12; 13) BLOCK@[13; 23) L_CURLY@[13; 14) WHITESPACE@[14; 19) FIELD_EXPR@[19; 21) PATH_EXPR@[19; 20) PATH@[19; 20) PATH_SEGMENT@[19; 20) NAME_REF@[19; 20) IDENT@[19; 20) "a" DOT@[20; 21) err: `expected field name or number` WHITESPACE@[21; 22) R_CURLY@[22; 23) WHITESPACE@[23; 24)