source 
 prog 
 defn 
 TYP 
 1:1-1:3 
 typ 
 ID 
 1:5-1:12 
 randomid 
 EQUALS 
 1:14-1:14 
 = 
 type 
 INT 
 1:16-1:18 
 int 
 defn 
 FUN 
 2:1-2:3 
 fun 
 ID 
 2:5-2:7 
 abc 
 LBRACKET 
 2:9-2:9 
 ( 
 RBRACKET 
 2:10-2:10 
 ) 
 COLON 
 2:12-2:12 
 : 
 type 
 LBRACKET 
 2:14-2:14 
 ( 
 ID 
 2:15-2:15 
 a 
 COLON 
 2:16-2:16 
 : 
 type 
 LSQUARE 
 2:17-2:17 
 [ 
 NUM 
 2:18-2:18 
 1 
 RSQUARE 
 2:19-2:19 
 ] 
 type 
 LSQUARE 
 2:20-2:20 
 [ 
 NUM 
 2:21-2:21 
 2 
 RSQUARE 
 2:22-2:22 
 ] 
 type 
 LSQUARE 
 2:23-2:23 
 [ 
 NUM 
 2:24-2:24 
 4 
 RSQUARE 
 2:25-2:25 
 ] 
 type 
 BOOL 
 2:26-2:29 
 bool 
 COMMA 
 2:30-2:30 
 , 
 ID 
 2:32-2:32 
 b 
 COLON 
 2:33-2:33 
 : 
 type 
 HAT 
 2:35-2:35 
 ^ 
 type 
 HAT 
 2:36-2:36 
 ^ 
 type 
 HAT 
 2:37-2:37 
 ^ 
 type 
 HAT 
 2:38-2:38 
 ^ 
 type 
 HAT 
 2:39-2:39 
 ^ 
 type 
 HAT 
 2:40-2:40 
 ^ 
 type 
 HAT 
 2:41-2:41 
 ^ 
 type 
 HAT 
 2:42-2:42 
 ^ 
 type 
 HAT 
 2:43-2:43 
 ^ 
 type 
 HAT 
 2:44-2:44 
 ^ 
 type 
 HAT 
 2:45-2:45 
 ^ 
 type 
 HAT 
 2:46-2:46 
 ^ 
 type 
 HAT 
 2:47-2:47 
 ^ 
 type 
 HAT 
 2:48-2:48 
 ^ 
 type 
 VOID 
 2:49-2:52 
 void 
 COMMA 
 2:53-2:53 
 , 
 ID 
 2:55-2:55 
 c 
 COLON 
 2:56-2:56 
 : 
 type 
 ID 
 2:58-2:65 
 randomid 
 COMMA 
 2:66-2:66 
 , 
 ID 
 2:68-2:68 
 x 
 COLON 
 2:69-2:69 
 : 
 type 
 LBRACKET 
 2:71-2:71 
 ( 
 ID 
 2:72-2:72 
 d 
 COLON 
 2:74-2:74 
 : 
 type 
 INT 
 2:76-2:78 
 int 
 COMMA 
 2:79-2:79 
 , 
 ID 
 2:81-2:81 
 e 
 COLON 
 2:83-2:83 
 : 
 type 
 BOOL 
 2:85-2:88 
 bool 
 COMMA 
 2:89-2:89 
 , 
 ID 
 2:91-2:91 
 f 
 COLON 
 2:93-2:93 
 : 
 type 
 CHAR 
 2:95-2:98 
 char 
 COMMA 
 2:99-2:99 
 , 
 ID 
 2:101-2:101 
 g 
 COLON 
 2:103-2:103 
 : 
 type 
 LCURLY 
 2:105-2:105 
 { 
 ID 
 2:107-2:107 
 h 
 COLON 
 2:109-2:109 
 : 
 type 
 HAT 
 2:111-2:111 
 ^ 
 type 
 HAT 
 2:112-2:112 
 ^ 
 type 
 INT 
 2:113-2:115 
 int 
 COMMA 
 2:116-2:116 
 , 
 ID 
 2:118-2:118 
 i 
 COLON 
 2:119-2:119 
 : 
 type 
 VOID 
 2:121-2:124 
 void 
 RCURLY 
 2:125-2:125 
 } 
 RBRACKET 
 2:126-2:126 
 ) 
 RBRACKET 
 2:128-2:128 
 ) 
 EOF