A146: Nodes<Defn> 
1:1-34:7
 A1: TypDefn b 
1:1-1:12
 A0: AtomType BOOL 
1:9-1:12
 A145: DefFunDefn main 
2:1-34:7
 A142: Nodes<ParDefn> 
 A2: NameType b 
2:14-2:14
defAt: A1 @ 1:1-1:12
 A144: Exprs 
3:5-34:7
 A143: Nodes<Expr> 
3:5-34:7
 A141: LetExpr 
3:5-34:7
 A138: Nodes<Defn> 
3:9-3:29
 A4: VarDefn b1 
3:9-3:18
 A3: NameType b 
3:18-3:18
defAt: A1 @ 1:1-1:12
 A6: VarDefn b2 
3:20-3:29
 A5: NameType b 
3:29-3:29
defAt: A1 @ 1:1-1:12
 A140: Exprs 
4:9-33:11
 A139: Nodes<Expr> 
4:9-33:11
 A137: IfThenElseExpr 
4:9-33:11
 A13: BinExpr OR 
4:12-4:32
 A11: BinExpr OR 
4:12-4:26
 A9: BinExpr AND 
4:12-4:20
 A7: NameExpr b1 
4:12-4:13
defAt: A4 @ 3:9-3:18
 A8: NameExpr b2 
4:19-4:20
defAt: A6 @ 3:20-3:29
 A10: NameExpr b1 
4:25-4:26
defAt: A4 @ 3:9-3:18
 A12: NameExpr b2 
4:31-4:32
defAt: A6 @ 3:20-3:29
 A134: Exprs 
5:13-5:39
 A133: Nodes<Expr> 
5:13-5:39
 A20: BinExpr OR 
5:13-5:39
 A18: BinExpr AND 
5:13-5:30
 A16: BinExpr AND 
5:13-5:21
 A14: NameExpr b2 
5:13-5:14
defAt: A6 @ 3:20-3:29
 A15: NameExpr b1 
5:20-5:21
defAt: A4 @ 3:9-3:18
 A17: AtomExpr true 
5:27-5:30
 A19: AtomExpr false 
5:35-5:39
 A136: Exprs 
7:13-32:15
 A135: Nodes<Expr> 
7:13-32:15
 A132: LetExpr 
7:13-32:15
 A129: Nodes<Defn> 
7:17-7:37
 A22: VarDefn b1 
7:17-7:26
 A21: NameType b 
7:26-7:26
defAt: A1 @ 1:1-1:12
 A24: VarDefn b2 
7:28-7:37
 A23: NameType b 
7:37-7:37
defAt: A1 @ 1:1-1:12
 A131: Exprs 
8:17-31:19
 A130: Nodes<Expr> 
8:17-31:19
 A128: IfThenElseExpr 
8:17-31:19
 A31: BinExpr OR 
8:20-8:40
 A29: BinExpr OR 
8:20-8:34
 A27: BinExpr AND 
8:20-8:28
 A25: NameExpr b1 
8:20-8:21
defAt: A22 @ 7:17-7:26
 A26: NameExpr b2 
8:27-8:28
defAt: A24 @ 7:28-7:37
 A28: NameExpr b1 
8:33-8:34
defAt: A22 @ 7:17-7:26
 A30: NameExpr b2 
8:39-8:40
defAt: A24 @ 7:28-7:37
 A125: Exprs 
9:21-9:47
 A124: Nodes<Expr> 
9:21-9:47
 A38: BinExpr OR 
9:21-9:47
 A36: BinExpr AND 
9:21-9:38
 A34: BinExpr AND 
9:21-9:29
 A32: NameExpr b2 
9:21-9:22
defAt: A24 @ 7:28-7:37
 A33: NameExpr b1 
9:28-9:29
defAt: A22 @ 7:17-7:26
 A35: AtomExpr true 
9:35-9:38
 A37: AtomExpr false 
9:43-9:47
 A127: Exprs 
11:21-30:23
 A126: Nodes<Expr> 
11:21-30:23
 A123: LetExpr 
11:21-30:23
 A120: Nodes<Defn> 
11:25-11:45
 A40: VarDefn b1 
11:25-11:34
 A39: NameType b 
11:34-11:34
defAt: A1 @ 1:1-1:12
 A42: VarDefn b2 
11:36-11:45
 A41: NameType b 
11:45-11:45
defAt: A1 @ 1:1-1:12
 A122: Exprs 
12:25-29:27
 A121: Nodes<Expr> 
12:25-29:27
 A119: IfThenElseExpr 
12:25-29:27
 A49: BinExpr OR 
12:28-12:48
 A47: BinExpr OR 
12:28-12:42
 A45: BinExpr AND 
12:28-12:36
 A43: NameExpr b1 
12:28-12:29
defAt: A40 @ 11:25-11:34
 A44: NameExpr b2 
12:35-12:36
defAt: A42 @ 11:36-11:45
 A46: NameExpr b1 
12:41-12:42
defAt: A40 @ 11:25-11:34
 A48: NameExpr b2 
12:47-12:48
defAt: A42 @ 11:36-11:45
 A116: Exprs 
13:29-13:55
 A115: Nodes<Expr> 
13:29-13:55
 A56: BinExpr OR 
13:29-13:55
 A54: BinExpr AND 
13:29-13:46
 A52: BinExpr AND 
13:29-13:37
 A50: NameExpr b2 
13:29-13:30
defAt: A42 @ 11:36-11:45
 A51: NameExpr b1 
13:36-13:37
defAt: A40 @ 11:25-11:34
 A53: AtomExpr true 
13:43-13:46
 A55: AtomExpr false 
13:51-13:55
 A118: Exprs 
15:29-28:32
 A117: Nodes<Expr> 
15:29-28:32
 A114: Exprs 
15:29-28:32
 A113: Nodes<Expr> 
15:29-28:32
 A84: LetExpr 
15:30-21:31
 A81: Nodes<Defn> 
15:34-15:54
 A58: VarDefn b1 
15:34-15:43
 A57: NameType b 
15:43-15:43
defAt: A1 @ 1:1-1:12
 A60: VarDefn b2 
15:45-15:54
 A59: NameType b 
15:54-15:54
defAt: A1 @ 1:1-1:12
 A83: Exprs 
16:33-20:35
 A82: Nodes<Expr> 
16:33-20:35
 A80: IfThenElseExpr 
16:33-20:35
 A67: BinExpr OR 
16:36-16:56
 A65: BinExpr OR 
16:36-16:50
 A63: BinExpr AND 
16:36-16:44
 A61: NameExpr b1 
16:36-16:37
defAt: A58 @ 15:34-15:43
 A62: NameExpr b2 
16:43-16:44
defAt: A60 @ 15:45-15:54
 A64: NameExpr b1 
16:49-16:50
defAt: A58 @ 15:34-15:43
 A66: NameExpr b2 
16:55-16:56
defAt: A60 @ 15:45-15:54
 A77: Exprs 
17:37-17:63
 A76: Nodes<Expr> 
17:37-17:63
 A74: BinExpr OR 
17:37-17:63
 A72: BinExpr AND 
17:37-17:54
 A70: BinExpr AND 
17:37-17:45
 A68: NameExpr b2 
17:37-17:38
defAt: A60 @ 15:45-15:54
 A69: NameExpr b1 
17:44-17:45
defAt: A58 @ 15:34-15:43
 A71: AtomExpr true 
17:51-17:54
 A73: AtomExpr false 
17:59-17:63
 A79: Exprs 
19:37-19:41
 A78: Nodes<Expr> 
19:37-19:41
 A75: AtomExpr false 
19:37-19:41
 A112: LetExpr 
22:29-28:31
 A109: Nodes<Defn> 
22:33-22:53
 A86: VarDefn b1 
22:33-22:42
 A85: NameType b 
22:42-22:42
defAt: A1 @ 1:1-1:12
 A88: VarDefn b2 
22:44-22:53
 A87: NameType b 
22:53-22:53
defAt: A1 @ 1:1-1:12
 A111: Exprs 
23:33-27:35
 A110: Nodes<Expr> 
23:33-27:35
 A108: IfThenElseExpr 
23:33-27:35
 A95: BinExpr OR 
23:36-23:56
 A93: BinExpr OR 
23:36-23:50
 A91: BinExpr AND 
23:36-23:44
 A89: NameExpr b1 
23:36-23:37
defAt: A86 @ 22:33-22:42
 A90: NameExpr b2 
23:43-23:44
defAt: A88 @ 22:44-22:53
 A92: NameExpr b1 
23:49-23:50
defAt: A86 @ 22:33-22:42
 A94: NameExpr b2 
23:55-23:56
defAt: A88 @ 22:44-22:53
 A105: Exprs 
24:37-24:63
 A104: Nodes<Expr> 
24:37-24:63
 A102: BinExpr OR 
24:37-24:63
 A100: BinExpr AND 
24:37-24:54
 A98: BinExpr AND 
24:37-24:45
 A96: NameExpr b2 
24:37-24:38
defAt: A88 @ 22:44-22:53
 A97: NameExpr b1 
24:44-24:45
defAt: A86 @ 22:33-22:42
 A99: AtomExpr true 
24:51-24:54
 A101: AtomExpr false 
24:59-24:63
 A107: Exprs 
26:37-26:41
 A106: Nodes<Expr> 
26:37-26:41
 A103: AtomExpr false 
26:37-26:41