> "B"   in ["B"]
"B" in ["B"] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(B), [str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "B"  !in ["B"]
"B" !in ["B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B"  ~in ["B"]
"B" ~in ["B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(B), [str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "B" !~in ["B"]
"B" !~in ["B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" ~!in ["B"]
"B" !~in ["B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" not in ["B"]
"B" not in ["B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" ~not in ["B"]
"B" not ~in ["B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" not ~in ["B"]
"B" not ~in ["B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" not~in ["B"]
"B" not ~in ["B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B"   in ["b"]
"B" in ["b"] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(B), [str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): In("B", ["b"])
###
> "B"  !in ["b"]
"B" !in ["b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InNot("B", ["b"])
###
> "B"  ~in ["b"]
"B" ~in ["b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(B), [str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "B" !~in ["b"]
"B" !~in ["b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" ~!in ["b"]
"B" !~in ["b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" not in ["b"]
"B" not in ["b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InNot("B", ["b"])
###
> "B" ~not in ["b"]
"B" not ~in ["b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" not ~in ["b"]
"B" not ~in ["b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" not~in ["b"]
"B" not ~in ["b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B"   in ["A"]
"B" in ["A"] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(B), [str(A)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): In("B", ["A"])
###
> "B"  !in ["A"]
"B" !in ["A"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(A)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InNot("B", ["A"])
###
> "B"  ~in ["A"]
"B" ~in ["A"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(B), [str(A)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCi("B", ["A"])
###
> "B" !~in ["A"]
"B" !~in ["A"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A"])
###
> "B" ~!in ["A"]
"B" !~in ["A"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A"])
###
> "B" not in ["A"]
"B" not in ["A"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(A)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InNot("B", ["A"])
###
> "B" ~not in ["A"]
"B" not ~in ["A"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A"])
###
> "B" not ~in ["A"]
"B" not ~in ["A"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A"])
###
> "B" not~in ["A"]
"B" not ~in ["A"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A"])
###
> "B"   in ["A", "B"]
"B" in ["A", "B"] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(B), [str(A), str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): In("B", ["A", "B"])
###
> "B"  !in ["A", "B"]
"B" !in ["A", "B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(A), str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot("B", ["A", "B"])
###
> "B"  ~in ["A", "B"]
"B" ~in ["A", "B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(B), [str(A), str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InCi("B", ["A", "B"])
###
> "B" !~in ["A", "B"]
"B" !~in ["A", "B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "B"])
###
> "B" ~!in ["A", "B"]
"B" !~in ["A", "B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "B"])
###
> "B" not in ["A", "B"]
"B" not in ["A", "B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(A), str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot("B", ["A", "B"])
###
> "B" ~not in ["A", "B"]
"B" not ~in ["A", "B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "B"])
###
> "B" not ~in ["A", "B"]
"B" not ~in ["A", "B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "B"])
###
> "B" not~in ["A", "B"]
"B" not ~in ["A", "B"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(B)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "B"])
###
> "B"   in ["A", "b"]
"B" in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(B), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 2
    [0](2): In("B", ["A", "b"])
###
> "B"  !in ["A", "b"]
"B" !in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot("B", ["A", "b"])
###
> "B"  ~in ["A", "b"]
"B" ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(B), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InCi("B", ["A", "b"])
###
> "B" !~in ["A", "b"]
"B" !~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "b"])
###
> "B" ~!in ["A", "b"]
"B" !~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "b"])
###
> "B" not in ["A", "b"]
"B" not in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot("B", ["A", "b"])
###
> "B" ~not in ["A", "b"]
"B" not ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "b"])
###
> "B" not ~in ["A", "b"]
"B" not ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "b"])
###
> "B" not~in ["A", "b"]
"B" not ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("B", ["A", "b"])
###
> "B"   in ["B", null]
"B" in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(B), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "B"  !in ["B", null]
"B" !in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B"  ~in ["B", null]
"B" ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(B), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "B" !~in ["B", null]
"B" !~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" ~!in ["B", null]
"B" !~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" not in ["B", null]
"B" not in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(B), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" ~not in ["B", null]
"B" not ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" not ~in ["B", null]
"B" not ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "B" not~in ["B", null]
"B" not ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(B), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> ""   in ["A", "b"]
"" in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 2
    [0](2): In("", ["A", "b"])
###
> ""  !in ["A", "b"]
"" !in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot("", ["A", "b"])
###
> ""  ~in ["A", "b"]
"" ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 2
    [0](2): InCi("", ["A", "b"])
###
> "" !~in ["A", "b"]
"" !~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["A", "b"])
###
> "" ~!in ["A", "b"]
"" !~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["A", "b"])
###
> "" not in ["A", "b"]
"" not in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot("", ["A", "b"])
###
> "" ~not in ["A", "b"]
"" not ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["A", "b"])
###
> "" not ~in ["A", "b"]
"" not ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["A", "b"])
###
> "" not~in ["A", "b"]
"" not ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["A", "b"])
###
> ""   in ["B", ""]
"" in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): In("", ["B", ""])
###
> ""  !in ["B", ""]
"" !in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot("", ["B", ""])
###
> ""  ~in ["B", ""]
"" ~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InCi("", ["B", ""])
###
> "" !~in ["B", ""]
"" !~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("", ["B", ""])
###
> "" ~!in ["B", ""]
"" !~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("", ["B", ""])
###
> "" not in ["B", ""]
"" not in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot("", ["B", ""])
###
> "" ~not in ["B", ""]
"" not ~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("", ["B", ""])
###
> "" not ~in ["B", ""]
"" not ~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("", ["B", ""])
###
> "" not~in ["B", ""]
"" not ~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot("", ["B", ""])
###
> ""   in ["B", null]
"" in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 2
    [0](2): In("", ["B", str(<null>)])
###
> ""  !in ["B", null]
"" !in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot("", ["B", str(<null>)])
###
> ""  ~in ["B", null]
"" ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 2
    [0](2): InCi("", ["B", str(<null>)])
###
> "" !~in ["B", null]
"" !~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["B", str(<null>)])
###
> "" ~!in ["B", null]
"" !~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["B", str(<null>)])
###
> "" not in ["B", null]
"" not in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot("", ["B", str(<null>)])
###
> "" ~not in ["B", null]
"" not ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["B", str(<null>)])
###
> "" not ~in ["B", null]
"" not ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["B", str(<null>)])
###
> "" not~in ["B", null]
"" not ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot("", ["B", str(<null>)])
###
> null   in ["A", "b"]
null in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(<null>), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 2
    [0](2): In(str(<null>), ["A", "b"])
###
> null  !in ["A", "b"]
null !in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(<null>), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot(str(<null>), ["A", "b"])
###
> null  ~in ["A", "b"]
null ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(<null>), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 2
    [0](2): InCi(str(<null>), ["A", "b"])
###
> null !~in ["A", "b"]
null !~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["A", "b"])
###
> null ~!in ["A", "b"]
null !~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["A", "b"])
###
> null not in ["A", "b"]
null not in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(<null>), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot(str(<null>), ["A", "b"])
###
> null ~not in ["A", "b"]
null not ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["A", "b"])
###
> null not ~in ["A", "b"]
null not ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["A", "b"])
###
> null not~in ["A", "b"]
null not ~in ["A", "b"] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(A), str(b)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["A", "b"])
###
> null   in ["B", ""]
null in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(<null>), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 2
    [0](2): In(str(<null>), ["B", ""])
###
> null  !in ["B", ""]
null !in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(<null>), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot(str(<null>), ["B", ""])
###
> null  ~in ["B", ""]
null ~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(<null>), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 2
    [0](2): InCi(str(<null>), ["B", ""])
###
> null !~in ["B", ""]
null !~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["B", ""])
###
> null ~!in ["B", ""]
null !~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["B", ""])
###
> null not in ["B", ""]
null not in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(<null>), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InNot(str(<null>), ["B", ""])
###
> null ~not in ["B", ""]
null not ~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["B", ""])
###
> null not ~in ["B", ""]
null not ~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["B", ""])
###
> null not~in ["B", ""]
null not ~in ["B", ""] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str()]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 2
    [0](2): InCiNot(str(<null>), ["B", ""])
###
> null   in ["B", null]
null in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(<null>), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): In(str(<null>), ["B", str(<null>)])
###
> null  !in ["B", null]
null !in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(<null>), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(str(<null>), ["B", str(<null>)])
###
> null  ~in ["B", null]
null ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(<null>), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): InCi(str(<null>), ["B", str(<null>)])
###
> null !~in ["B", null]
null !~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot(str(<null>), ["B", str(<null>)])
###
> null ~!in ["B", null]
null !~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot(str(<null>), ["B", str(<null>)])
###
> null not in ["B", null]
null not in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(<null>), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(str(<null>), ["B", str(<null>)])
###
> null ~not in ["B", null]
null not ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot(str(<null>), ["B", str(<null>)])
###
> null not ~in ["B", null]
null not ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot(str(<null>), ["B", str(<null>)])
###
> null not~in ["B", null]
null not ~in ["B", null] : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(<null>), [str(B), str(<null>)]:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InCiNot(str(<null>), ["B", str(<null>)])
###
> 1      in Range(3)
1 in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(In(1:i8, Call(∂.Range(3:i8):i8*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): In(1, Range(3))
###
> 1     !in Range(3)
1 !in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, Call(∂.Range(3:i8):i8*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(1, Range(3))
###
> 1     ~in Range(3)
1 ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(In(1:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (6,7) Node: 1 ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): In(1, Range(3))
###
> 1    !~in Range(3)
1 !~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (6,7) Node: 1 !~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(1, Range(3))
###
> 1    ~!in Range(3)
1 !~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (5,6) Node: 1 !~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(1, Range(3))
###
> 1 not  in Range(3)
1 not in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, Call(∂.Range(3:i8):i8*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(1, Range(3))
###
> 1 ~not in Range(3)
1 not ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (2,3) Node: 1 not ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(1, Range(3))
###
> 1 not ~in Range(3)
1 not ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (6,7) Node: 1 not ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(1, Range(3))
###
> 1 not~ in Range(3)
1 not ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (5,6) Node: 1 not ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(1, Range(3))
###
> 7      in Range(3)
7 in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(In(7:i8, Call(∂.Range(3:i8):i8*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): In(7, Range(3))
###
> 7     !in Range(3)
7 !in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(7:i8, Call(∂.Range(3:i8):i8*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(7, Range(3))
###
> 7     ~in Range(3)
7 ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(In(7:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (6,7) Node: 7 ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): In(7, Range(3))
###
> 7    !~in Range(3)
7 !~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(7:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (6,7) Node: 7 !~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(7, Range(3))
###
> 7    ~!in Range(3)
7 !~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(7:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (5,6) Node: 7 !~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(7, Range(3))
###
> 7 not  in Range(3)
7 not in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(7:i8, Call(∂.Range(3:i8):i8*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(7, Range(3))
###
> 7 ~not in Range(3)
7 not ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(7:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (2,3) Node: 7 not ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(7, Range(3))
###
> 7 not ~in Range(3)
7 not ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(7:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (6,7) Node: 7 not ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(7, Range(3))
###
> 7 not~ in Range(3)
7 not ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(7:i8, Call(∂.Range(3:i8):i8*)))
*** Warning: (5,6) Node: 7 not ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(7, Range(3))
###
> null      in Range(3)
null in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(In(null:i8?, Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): In(null, ForEach(*1: Range(3), Opt<i8?>(*1)))
###
> null     !in Range(3)
null !in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(null, ForEach(*1: Range(3), Opt<i8?>(*1)))
###
> null     ~in Range(3)
null ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(In(null:i8?, Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*)))
*** Warning: (9,10) Node: null ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): In(null, ForEach(*1: Range(3), Opt<i8?>(*1)))
###
> null    !~in Range(3)
null !~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*)))
*** Warning: (9,10) Node: null !~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(null, ForEach(*1: Range(3), Opt<i8?>(*1)))
###
> null    ~!in Range(3)
null !~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*)))
*** Warning: (8,9) Node: null !~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(null, ForEach(*1: Range(3), Opt<i8?>(*1)))
###
> null not  in Range(3)
null not in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(null, ForEach(*1: Range(3), Opt<i8?>(*1)))
###
> null ~not in Range(3)
null not ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*)))
*** Warning: (5,6) Node: null not ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(null, ForEach(*1: Range(3), Opt<i8?>(*1)))
###
> null not ~in Range(3)
null not ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*)))
*** Warning: (9,10) Node: null not ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(null, ForEach(*1: Range(3), Opt<i8?>(*1)))
###
> null not~ in Range(3)
null not ~in Range(3) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*)))
*** Warning: (8,9) Node: null not ~in Range(3), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): InNot(null, ForEach(*1: Range(3), Opt<i8?>(*1)))
###
> 1      in Range(3) ++ [null]
1 in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(In(Opt<i8?>(1:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): In(Opt<i8?>(1), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 1     !in Range(3) ++ [null]
1 !in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(1:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(Opt<i8?>(1), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 1     ~in Range(3) ++ [null]
1 ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(In(Opt<i8?>(1:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (6,7) Node: 1 ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 1
    [0](1): In(Opt<i8?>(1), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 1    !~in Range(3) ++ [null]
1 !~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(1:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (6,7) Node: 1 !~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(Opt<i8?>(1), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 1    ~!in Range(3) ++ [null]
1 !~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(1:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (5,6) Node: 1 !~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(Opt<i8?>(1), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 1 not  in Range(3) ++ [null]
1 not in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(1:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(Opt<i8?>(1), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 1 ~not in Range(3) ++ [null]
1 not ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(1:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (2,3) Node: 1 not ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(Opt<i8?>(1), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 1 not ~in Range(3) ++ [null]
1 not ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(1:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (6,7) Node: 1 not ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(Opt<i8?>(1), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 1 not~ in Range(3) ++ [null]
1 not ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(1:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (5,6) Node: 1 not ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 1
    [0](1): InNot(Opt<i8?>(1), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 7      in Range(3) ++ [null]
7 in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(In(Opt<i8?>(7:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 4
    [0](4): In(Opt<i8?>(7), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 7     !in Range(3) ++ [null]
7 !in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(7:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 4
    [0](4): InNot(Opt<i8?>(7), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 7     ~in Range(3) ++ [null]
7 ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(In(Opt<i8?>(7:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (6,7) Node: 7 ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 4
    [0](4): In(Opt<i8?>(7), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 7    !~in Range(3) ++ [null]
7 !~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(7:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (6,7) Node: 7 !~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 4
    [0](4): InNot(Opt<i8?>(7), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 7    ~!in Range(3) ++ [null]
7 !~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(7:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (5,6) Node: 7 !~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 4
    [0](4): InNot(Opt<i8?>(7), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 7 not  in Range(3) ++ [null]
7 not in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(7:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 4
    [0](4): InNot(Opt<i8?>(7), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 7 ~not in Range(3) ++ [null]
7 not ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(7:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (2,3) Node: 7 not ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 4
    [0](4): InNot(Opt<i8?>(7), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 7 not ~in Range(3) ++ [null]
7 not ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(7:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (6,7) Node: 7 not ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 4
    [0](4): InNot(Opt<i8?>(7), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 7 not~ in Range(3) ++ [null]
7 not ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(Opt<i8?>(7:i8), SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (5,6) Node: 7 not ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 4
    [0](4): InNot(Opt<i8?>(7), SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> null      in Range(3) ++ [null]
null in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(In(null:i8?, SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): In(null, SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> null     !in Range(3) ++ [null]
null !in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): InNot(null, SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> null     ~in Range(3) ++ [null]
null ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(In(null:i8?, SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (9,10) Node: null ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 3
    [0](3): In(null, SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> null    !~in Range(3) ++ [null]
null !~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (9,10) Node: null !~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): InNot(null, SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> null    ~!in Range(3) ++ [null]
null !~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (8,9) Node: null !~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): InNot(null, SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> null not  in Range(3) ++ [null]
null not in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): InNot(null, SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> null ~not in Range(3) ++ [null]
null not ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (5,6) Node: null not ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): InNot(null, SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> null not ~in Range(3) ++ [null]
null not ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (9,10) Node: null not ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): InNot(null, SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> null not~ in Range(3) ++ [null]
null not ~in Range(3) ++ [null] : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(null:i8?, SeqConcat(Call(∂.ForEach([map:1] Call(∂.Range(3:i8):i8*), Opt<i8?>(Scope(1))):i8?*), [null:i8?]:i8?*)))
*** Warning: (8,9) Node: null not ~in Range(3) ++ [null], Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8?'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 3
    [0](3): InNot(null, SeqConcat(ForEach(*1: Range(3), Opt<i8?>(*1)), [null]))
###
> 1      in Null(Range(3))
1 in Null(Range(3)) : b
BndKind:BinaryOp, Type:b, Bnd:(In(1:i8, null:i8*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> 1     !in Null(Range(3))
1 !in Null(Range(3)) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, null:i8*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> 1     ~in Null(Range(3))
1 ~in Null(Range(3)) : b
BndKind:BinaryOp, Type:b, Bnd:(In(1:i8, null:i8*))
*** Warning: (6,7) Node: 1 ~in Null(Range(3)), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> 1    !~in Null(Range(3))
1 !~in Null(Range(3)) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, null:i8*))
*** Warning: (6,7) Node: 1 !~in Null(Range(3)), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> 1    ~!in Null(Range(3))
1 !~in Null(Range(3)) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, null:i8*))
*** Warning: (5,6) Node: 1 !~in Null(Range(3)), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> 1 not  in Null(Range(3))
1 not in Null(Range(3)) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, null:i8*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> 1 ~not in Null(Range(3))
1 not ~in Null(Range(3)) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, null:i8*))
*** Warning: (2,3) Node: 1 not ~in Null(Range(3)), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> 1 not ~in Null(Range(3))
1 not ~in Null(Range(3)) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, null:i8*))
*** Warning: (6,7) Node: 1 not ~in Null(Range(3)), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> 1 not~ in Null(Range(3))
1 not ~in Null(Range(3)) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(1:i8, null:i8*))
*** Warning: (5,6) Node: 1 not ~in Null(Range(3)), Tok: '~', Message: Case insensitive comparison doesn't apply to type 'i8'
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "hi"      in Null(["hi", "by", "pi"])
"hi" in Null(["hi", "by", "pi"]) : b
BndKind:BinaryOp, Type:b, Bnd:(In(str(hi), null:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "hi"     !in Null(["hi", "by", "pi"])
"hi" !in Null(["hi", "by", "pi"]) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(hi), null:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "hi"     ~in Null(["hi", "by", "pi"])
"hi" ~in Null(["hi", "by", "pi"]) : b
BndKind:BinaryOp, Type:b, Bnd:(InCi(str(hi), null:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: false
*** Ctx ping count: 0
###
> "hi"    !~in Null(["hi", "by", "pi"])
"hi" !~in Null(["hi", "by", "pi"]) : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(hi), null:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "hi"    ~!in Null(["hi", "by", "pi"])
"hi" !~in Null(["hi", "by", "pi"]) : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(hi), null:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "hi" not  in Null(["hi", "by", "pi"])
"hi" not in Null(["hi", "by", "pi"]) : b
BndKind:BinaryOp, Type:b, Bnd:(InNot(str(hi), null:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "hi" ~not in Null(["hi", "by", "pi"])
"hi" not ~in Null(["hi", "by", "pi"]) : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(hi), null:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "hi" not ~in Null(["hi", "by", "pi"])
"hi" not ~in Null(["hi", "by", "pi"]) : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(hi), null:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
> "hi" not~ in Null(["hi", "by", "pi"])
"hi" not ~in Null(["hi", "by", "pi"]) : b
BndKind:BinaryOp, Type:b, Bnd:(InCiNot(str(hi), null:s*))
Func sig: (<ctx>:x) to b
Type: bool, Value: true 
*** Ctx ping count: 0
###
