source 
 prog 
 defn 
 TYP 
 2:1-2:3 
 typ 
 ID 
 2:5-2:5 
 a 
 EQUALS 
 2:7-2:7 
 = 
 type 
 ID 
 2:9-2:9 
 b 
 defn 
 TYP 
 3:1-3:3 
 typ 
 ID 
 3:5-3:5 
 b 
 EQUALS 
 3:7-3:7 
 = 
 type 
 INT 
 3:9-3:11 
 int 
 defn 
 FUN 
 6:1-6:3 
 fun 
 ID 
 6:5-6:5 
 f 
 LBRACKET 
 6:6-6:6 
 ( 
 RBRACKET 
 6:7-6:7 
 ) 
 COLON 
 6:9-6:9 
 : 
 type 
 INT 
 6:11-6:13 
 int 
 EQUALS 
 6:15-6:15 
 = 
 expr 
 expr 
 ID 
 6:17-6:17 
 g 
 LBRACKET 
 6:18-6:18 
 ( 
 RBRACKET 
 6:19-6:19 
 ) 
 defn 
 FUN 
 7:1-7:3 
 fun 
 ID 
 7:5-7:5 
 g 
 LBRACKET 
 7:6-7:6 
 ( 
 RBRACKET 
 7:7-7:7 
 ) 
 COLON 
 7:9-7:9 
 : 
 type 
 INT 
 7:11-7:13 
 int 
 EQUALS 
 7:15-7:15 
 = 
 expr 
 NUM 
 7:17-7:17 
 1 
 EOF