**** New globals: {b:b, d:d, g:g, i:i, i1:i1, i2:i2, i4:i4, i8:i8, n:r8, o:o, qb:b?, qd:d?, qi:i?, qi1:i1?, qi2:i2?, qi4:i4?, qi8:i8?, qn:r8?, qr4:r4?, qr8:r8?, qu1:u1?, qu2:u2?, qu4:u4?, qu8:u8?, r4:r4, r8:r8, s:s, u1:u1, u2:u2, u4:u4, u8:u8}

> "HeLLo".Len
"HeLLo".Len : i8
Binder : Text.Len("HeLLo")
Reducer: 5
###
> "HeLLo".len
Corrected by binder: ["HeLLo".Len]
"HeLLo".len : i8
*** Error: (7,8) Node: "HeLLo".len, Message: Unknown property, did you intend 'Len'?
Binder : Text.Len("HeLLo")
Reducer: 5
###
> "HeLLo".Lower
"HeLLo".Lower : s
Binder : Text.Lower("HeLLo")
Reducer: "hello"
###
> "HeLLo".Upper
"HeLLo".Upper : s
Binder : Text.Upper("HeLLo")
Reducer: "HELLO"
###
> "\t HeLLo   ".Trim
"\t HeLLo   ".Trim : s
Binder : Text.Trim("\t HeLLo   ")
Reducer: "HeLLo"
###
> "\t HeLLo   ".TrimStart
"\t HeLLo   ".TrimStart : s
Binder : Text.TrimStart("\t HeLLo   ")
Reducer: "HeLLo   "
###
> "\t HeLLo   ".TrimEnd
"\t HeLLo   ".TrimEnd : s
Binder : Text.TrimEnd("\t HeLLo   ")
Reducer: "\t HeLLo"
###
> s.Len
s.Len : i8
Binder : Text.Len(s)
###
> s.Lower
s.Lower : s
Binder : Text.Lower(s)
###
> s.Upper
s.Upper : s
Binder : Text.Upper(s)
###
> s.Trim
s.Trim : s
Binder : Text.Trim(s)
###
> s.TrimStart
s.TrimStart : s
Binder : Text.TrimStart(s)
###
> s.TrimEnd
s.TrimEnd : s
Binder : Text.TrimEnd(s)
###
> s->Text.Len()
s->Text.Len() : i8
Binder : Text.Len(s)
###
> s->Text.Lower()
s->Text.Lower() : s
Binder : Text.Lower(s)
###
> s->Text.Upper()
s->Text.Upper() : s
Binder : Text.Upper(s)
###
> s->Text.Trim()
s->Text.Trim() : s
Binder : Text.Trim(s)
###
> s->Text.TrimStart()
s->Text.TrimStart() : s
Binder : Text.TrimStart(s)
###
> s->Text.TrimEnd()
s->Text.TrimEnd() : s
Binder : Text.TrimEnd(s)
###
> s->Len()
s->Len() : i8
Binder : Text.Len(s)
###
> s->Lower()
s->Lower() : s
Binder : Text.Lower(s)
###
> s->Upper()
s->Upper() : s
Binder : Text.Upper(s)
###
> s->Trim()
s->Trim() : s
Binder : Text.Trim(s)
###
> s->TrimStart()
s->TrimStart() : s
Binder : Text.TrimStart(s)
###
> s->TrimEnd()
s->TrimEnd() : s
Binder : Text.TrimEnd(s)
###
> s->Replace(s, s)
s->Replace(s, s) : s
Binder : Text.Replace(s, s, s)
###
> Text.Len("Hello")
Text.Len("Hello") : i8
Binder : Text.Len("Hello")
Reducer: 5
###
> text.LEN("Hello")
Corrected by binder: [Text.Len("Hello")]
text.LEN("Hello") : i8
*** Error: (8,9) Node: text.LEN("Hello"), Message: Invocation of unknown function, did you intend 'Text.Len'?
Binder : Text.Len("Hello")
Reducer: 5
###
> Text.leN("Hello")
Corrected by binder: [Text.Len("Hello")]
Text.leN("Hello") : i8
*** Error: (8,9) Node: Text.leN("Hello"), Message: Invocation of unknown function, did you intend 'Text.Len'?
Binder : Text.Len("Hello")
Reducer: 5
###
> "Hello"->Text.Len()
"Hello"->Text.Len() : i8
Binder : Text.Len("Hello")
Reducer: 5
###
> "Hello"->text.LEN()
Corrected by binder: ["Hello"->Text.Len()]
"Hello"->text.LEN() : i8
*** Error: (7,9) Node: "Hello"->text.LEN(), Message: Invocation of unknown function, did you intend 'Text.Len'?
Binder : Text.Len("Hello")
Reducer: 5
###
> "Hello"->Text.leN()
Corrected by binder: ["Hello"->Text.Len()]
"Hello"->Text.leN() : i8
*** Error: (7,9) Node: "Hello"->Text.leN(), Message: Invocation of unknown function, did you intend 'Text.Len'?
Binder : Text.Len("Hello")
Reducer: 5
###
> "Hello"->Len()
"Hello"->Len() : i8
Binder : Text.Len("Hello")
Reducer: 5
###
> "Hello"->LEN()
Corrected by binder: ["Hello"->Text.Len()]
"Hello"->LEN() : i8
*** Error: (7,9) Node: "Hello"->LEN(), Message: Invocation of unknown function, did you intend 'Text.Len'?
Binder : Text.Len("Hello")
Reducer: 5
###
> "Hello"->leN()
Corrected by binder: ["Hello"->Text.Len()]
"Hello"->leN() : i8
*** Error: (7,9) Node: "Hello"->leN(), Message: Invocation of unknown function, did you intend 'Text.Len'?
Binder : Text.Len("Hello")
Reducer: 5
###
> Text.Len("hello")
Text.Len("hello") : i8
Binder : Text.Len("hello")
Reducer: 5
###
> Text.Len("")
Text.Len("") : i8
Binder : Text.Len("")
Reducer: 0
###
> Text.Len(null)
Text.Len(null) : i8
Binder : Text.Len(str(<null>))
Reducer: 0
###
> Text.Len(g)
Text.Len(g) : i8
*** Error: (9,10) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : Text.Len(Error(ErrBadType_Src_Dst))
###
> Text.Len(o)
Text.Len(o) : i8
Binder : Text.Len(str(<null>))
Reducer: 0
###
> Text.Len(s)
Text.Len(s) : i8
Binder : Text.Len(s)
###
> Text.Len(b)
Text.Len(b) : i8
*** Error: (9,10) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : Text.Len(Error(ErrBadType_Src_Dst))
###
> Text.Len(qb)
Text.Len(qb) : i8
*** Error: (9,11) Node: qb, Message: Invalid operand type: cannot convert type 'b?' to 's'
Binder : Text.Len(Error(ErrBadType_Src_Dst))
###
> Text.Len(i4)
Text.Len(i4) : i8
*** Error: (9,11) Node: i4, Message: Invalid operand type: cannot convert type 'i4' to 's'
Binder : Text.Len(Error(ErrBadType_Src_Dst))
###
> Text.Len(qi4)
Text.Len(qi4) : i8
*** Error: (9,12) Node: qi4, Message: Invalid operand type: cannot convert type 'i4?' to 's'
Binder : Text.Len(Error(ErrBadType_Src_Dst))
###
> Text.Lower("Hello")
Text.Lower("Hello") : s
Binder : Text.Lower("Hello")
Reducer: "hello"
###
> Text.Lower("HeLLo")
Text.Lower("HeLLo") : s
Binder : Text.Lower("HeLLo")
Reducer: "hello"
###
> Text.Lower(null)
Text.Lower(null) : s
Binder : Text.Lower(str(<null>))
Reducer: str(<null>)
###
> Text.Lower(-3)
Text.Lower(-3) : s
*** Error: (11,12) Node: -3, Message: Invalid operand type: cannot convert type 'i8' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(true)
Text.Lower(true) : s
*** Error: (11,15) Node: true, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Upper("Hello")
Text.Upper("Hello") : s
Binder : Text.Upper("Hello")
Reducer: "HELLO"
###
> Text.Upper("HeLLo")
Text.Upper("HeLLo") : s
Binder : Text.Upper("HeLLo")
Reducer: "HELLO"
###
> Text.Upper(null)
Text.Upper(null) : s
Binder : Text.Upper(str(<null>))
Reducer: str(<null>)
###
> Text.Upper(-3)
Text.Upper(-3) : s
*** Error: (11,12) Node: -3, Message: Invalid operand type: cannot convert type 'i8' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(true)
Text.Upper(true) : s
*** Error: (11,15) Node: true, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Lower(g)
Text.Lower(g) : s
*** Error: (11,12) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(o)
Text.Lower(o) : s
Binder : Text.Lower(str(<null>))
Reducer: str(<null>)
###
> Text.Lower(s)
Text.Lower(s) : s
Binder : Text.Lower(s)
###
> Text.Lower(b)
Text.Lower(b) : s
*** Error: (11,12) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(d)
Text.Lower(d) : s
*** Error: (11,12) Node: d, Message: Invalid operand type: cannot convert type 'd' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(n)
Text.Lower(n) : s
*** Error: (11,12) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(r8)
Text.Lower(r8) : s
*** Error: (11,13) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(r4)
Text.Lower(r4) : s
*** Error: (11,13) Node: r4, Message: Invalid operand type: cannot convert type 'r4' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(i)
Text.Lower(i) : s
*** Error: (11,12) Node: i, Message: Invalid operand type: cannot convert type 'i' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(i8)
Text.Lower(i8) : s
*** Error: (11,13) Node: i8, Message: Invalid operand type: cannot convert type 'i8' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(i4)
Text.Lower(i4) : s
*** Error: (11,13) Node: i4, Message: Invalid operand type: cannot convert type 'i4' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(i2)
Text.Lower(i2) : s
*** Error: (11,13) Node: i2, Message: Invalid operand type: cannot convert type 'i2' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(i1)
Text.Lower(i1) : s
*** Error: (11,13) Node: i1, Message: Invalid operand type: cannot convert type 'i1' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(u8)
Text.Lower(u8) : s
*** Error: (11,13) Node: u8, Message: Invalid operand type: cannot convert type 'u8' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(u4)
Text.Lower(u4) : s
*** Error: (11,13) Node: u4, Message: Invalid operand type: cannot convert type 'u4' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(u2)
Text.Lower(u2) : s
*** Error: (11,13) Node: u2, Message: Invalid operand type: cannot convert type 'u2' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(u1)
Text.Lower(u1) : s
*** Error: (11,13) Node: u1, Message: Invalid operand type: cannot convert type 'u1' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qb)
Text.Lower(qb) : s
*** Error: (11,13) Node: qb, Message: Invalid operand type: cannot convert type 'b?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qd)
Text.Lower(qd) : s
*** Error: (11,13) Node: qd, Message: Invalid operand type: cannot convert type 'd?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qn)
Text.Lower(qn) : s
*** Error: (11,13) Node: qn, Message: Invalid operand type: cannot convert type 'r8?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qr8)
Text.Lower(qr8) : s
*** Error: (11,14) Node: qr8, Message: Invalid operand type: cannot convert type 'r8?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qr4)
Text.Lower(qr4) : s
*** Error: (11,14) Node: qr4, Message: Invalid operand type: cannot convert type 'r4?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qi)
Text.Lower(qi) : s
*** Error: (11,13) Node: qi, Message: Invalid operand type: cannot convert type 'i?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qi8)
Text.Lower(qi8) : s
*** Error: (11,14) Node: qi8, Message: Invalid operand type: cannot convert type 'i8?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qi4)
Text.Lower(qi4) : s
*** Error: (11,14) Node: qi4, Message: Invalid operand type: cannot convert type 'i4?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qi2)
Text.Lower(qi2) : s
*** Error: (11,14) Node: qi2, Message: Invalid operand type: cannot convert type 'i2?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qi1)
Text.Lower(qi1) : s
*** Error: (11,14) Node: qi1, Message: Invalid operand type: cannot convert type 'i1?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qu8)
Text.Lower(qu8) : s
*** Error: (11,14) Node: qu8, Message: Invalid operand type: cannot convert type 'u8?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qu4)
Text.Lower(qu4) : s
*** Error: (11,14) Node: qu4, Message: Invalid operand type: cannot convert type 'u4?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qu2)
Text.Lower(qu2) : s
*** Error: (11,14) Node: qu2, Message: Invalid operand type: cannot convert type 'u2?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Lower(qu1)
Text.Lower(qu1) : s
*** Error: (11,14) Node: qu1, Message: Invalid operand type: cannot convert type 'u1?' to 's'
Binder : Text.Lower(Error(ErrBadType_Src_Dst))
###
> Text.Upper(g)
Text.Upper(g) : s
*** Error: (11,12) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(o)
Text.Upper(o) : s
Binder : Text.Upper(str(<null>))
Reducer: str(<null>)
###
> Text.Upper(s)
Text.Upper(s) : s
Binder : Text.Upper(s)
###
> Text.Upper(b)
Text.Upper(b) : s
*** Error: (11,12) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(d)
Text.Upper(d) : s
*** Error: (11,12) Node: d, Message: Invalid operand type: cannot convert type 'd' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(n)
Text.Upper(n) : s
*** Error: (11,12) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(r8)
Text.Upper(r8) : s
*** Error: (11,13) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(r4)
Text.Upper(r4) : s
*** Error: (11,13) Node: r4, Message: Invalid operand type: cannot convert type 'r4' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(i)
Text.Upper(i) : s
*** Error: (11,12) Node: i, Message: Invalid operand type: cannot convert type 'i' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(i8)
Text.Upper(i8) : s
*** Error: (11,13) Node: i8, Message: Invalid operand type: cannot convert type 'i8' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(i4)
Text.Upper(i4) : s
*** Error: (11,13) Node: i4, Message: Invalid operand type: cannot convert type 'i4' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(i2)
Text.Upper(i2) : s
*** Error: (11,13) Node: i2, Message: Invalid operand type: cannot convert type 'i2' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(i1)
Text.Upper(i1) : s
*** Error: (11,13) Node: i1, Message: Invalid operand type: cannot convert type 'i1' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(u8)
Text.Upper(u8) : s
*** Error: (11,13) Node: u8, Message: Invalid operand type: cannot convert type 'u8' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(u4)
Text.Upper(u4) : s
*** Error: (11,13) Node: u4, Message: Invalid operand type: cannot convert type 'u4' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(u2)
Text.Upper(u2) : s
*** Error: (11,13) Node: u2, Message: Invalid operand type: cannot convert type 'u2' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(u1)
Text.Upper(u1) : s
*** Error: (11,13) Node: u1, Message: Invalid operand type: cannot convert type 'u1' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qb)
Text.Upper(qb) : s
*** Error: (11,13) Node: qb, Message: Invalid operand type: cannot convert type 'b?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qd)
Text.Upper(qd) : s
*** Error: (11,13) Node: qd, Message: Invalid operand type: cannot convert type 'd?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qn)
Text.Upper(qn) : s
*** Error: (11,13) Node: qn, Message: Invalid operand type: cannot convert type 'r8?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qr8)
Text.Upper(qr8) : s
*** Error: (11,14) Node: qr8, Message: Invalid operand type: cannot convert type 'r8?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qr4)
Text.Upper(qr4) : s
*** Error: (11,14) Node: qr4, Message: Invalid operand type: cannot convert type 'r4?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qi)
Text.Upper(qi) : s
*** Error: (11,13) Node: qi, Message: Invalid operand type: cannot convert type 'i?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qi8)
Text.Upper(qi8) : s
*** Error: (11,14) Node: qi8, Message: Invalid operand type: cannot convert type 'i8?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qi4)
Text.Upper(qi4) : s
*** Error: (11,14) Node: qi4, Message: Invalid operand type: cannot convert type 'i4?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qi2)
Text.Upper(qi2) : s
*** Error: (11,14) Node: qi2, Message: Invalid operand type: cannot convert type 'i2?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qi1)
Text.Upper(qi1) : s
*** Error: (11,14) Node: qi1, Message: Invalid operand type: cannot convert type 'i1?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qu8)
Text.Upper(qu8) : s
*** Error: (11,14) Node: qu8, Message: Invalid operand type: cannot convert type 'u8?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qu4)
Text.Upper(qu4) : s
*** Error: (11,14) Node: qu4, Message: Invalid operand type: cannot convert type 'u4?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qu2)
Text.Upper(qu2) : s
*** Error: (11,14) Node: qu2, Message: Invalid operand type: cannot convert type 'u2?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Upper(qu1)
Text.Upper(qu1) : s
*** Error: (11,14) Node: qu1, Message: Invalid operand type: cannot convert type 'u1?' to 's'
Binder : Text.Upper(Error(ErrBadType_Src_Dst))
###
> Text.Part("", 0)
Text.Part("", 0) : s
Binder : Text.Part("", 0)
Reducer: ""
###
> Text.Part(null, 3)
Text.Part(null, 3) : s
Binder : Text.Part(str(<null>), 3)
Reducer: str(<null>)
###
> Text.Part("hello", 1)
Text.Part("hello", 1) : s
Binder : Text.Part("hello", 1)
Reducer: "ello"
###
> Text.Part(s, -10)
Text.Part(s, -10) : s
Binder : Text.Part(s, -10)
###
> Text.Part("hello", -1)
Text.Part("hello", -1) : s
Binder : Text.Part("hello", -1)
Reducer: "o"
###
> Text.Part("hello", -100)
Text.Part("hello", -100) : s
Binder : Text.Part("hello", -100)
Reducer: "hello"
###
> Text.Part("hello", 100)
Text.Part("hello", 100) : s
Binder : Text.Part("hello", 100)
Reducer: ""
###
> Text.Part("hello", i4)
Text.Part("hello", i4) : s
Binder : Text.Part("hello", Num<i8>(i4))
###
> Text.Part(s, i4)
Text.Part(s, i4) : s
Binder : Text.Part(s, Num<i8>(i4))
###
> Text.Part(s, i2)
Text.Part(s, i2) : s
Binder : Text.Part(s, Num<i8>(i2))
###
> Text.Part(s, i8)
Text.Part(s, i8) : s
Binder : Text.Part(s, i8)
###
> Text.Part(s, 0x80000000)
Text.Part(s, 2147483648) : s
Binder : Text.Part(s, 2147483648)
###
> Text.Part(s, 0x80000000u)
Text.Part(s, 2147483648) : s
Binder : Text.Part(s, 2147483648)
###
> Text.Part(s, 0x80000000u8)
Text.Part(s, 2147483648) : s
Binder : Text.Part(s, 2147483648)
###
> Text.Part(s, 0x80000000ia)
Text.Part(s, 2147483648) : s
*** Error: (13,25) Node: 2147483648, Message: Invalid operand type: cannot convert type 'i' to 'i8'
Binder : Text.Part(s, Error(ErrBadType_Src_Dst))
###
> Text.Part(s, 0x10000u)
Text.Part(s, 65536) : s
Binder : Text.Part(s, 65536)
###
> Text.Part(s, 0x10000u8)
Text.Part(s, 65536) : s
Binder : Text.Part(s, 65536)
###
> Text.Part(s, r8)
Text.Part(s, r8) : s
*** Error: (13,15) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : Text.Part(s, Error(ErrBadType_Src_Dst))
###
> Text.Part(s, u4)
Text.Part(s, u4) : s
Binder : Text.Part(s, Num<i8>(u4))
###
> Text.Part(s, 0)
Text.Part(s, 0) : s
Binder : Text.Part(s, 0)
###
> Text.Part("", 0, 1)
Text.Part("", 0, 1) : s
Binder : Text.Part("", 0, 1)
Reducer: ""
###
> Text.Part("", i4, 0)
Text.Part("", i4, 0) : s
Binder : Text.Part("", Num<i8>(i4), 0)
Reducer: ""
###
> Text.Part("", 0, i4)
Text.Part("", 0, i4) : s
Binder : Text.Part("", 0, Num<i8>(i4))
Reducer: ""
###
> Text.Part(null, 0, 1)
Text.Part(null, 0, 1) : s
Binder : Text.Part(str(<null>), 0, 1)
Reducer: str(<null>)
###
> Text.Part(null, i4, 0)
Text.Part(null, i4, 0) : s
Binder : Text.Part(str(<null>), Num<i8>(i4), 0)
Reducer: str(<null>)
###
> Text.Part(null, -1, i4)
Text.Part(null, -1, i4) : s
Binder : Text.Part(str(<null>), -1, Num<i8>(i4))
Reducer: str(<null>)
###
> Text.Part(s, 0, 1)
Text.Part(s, 0, 1) : s
Binder : Text.Part(s, 0, 1)
###
> Text.Part(s, i4, 0)
Text.Part(s, i4, 0) : s
Binder : Text.Part(s, Num<i8>(i4), 0)
###
> Text.Part(s, -1, i4)
Text.Part(s, -1, i4) : s
Binder : Text.Part(s, -1, Num<i8>(i4))
###
> Text.Part("hello", 0, 1)
Text.Part("hello", 0, 1) : s
Binder : Text.Part("hello", 0, 1)
Reducer: "h"
###
> Text.Part("hello", i4, 0)
Text.Part("hello", i4, 0) : s
Binder : Text.Part("hello", Num<i8>(i4), 0)
###
> Text.Part("hello", -1, i4)
Text.Part("hello", -1, i4) : s
Binder : Text.Part("hello", -1, Num<i8>(i4))
###
> Text.Part("hello", -100, 3)
Text.Part("hello", -100, 3) : s
Binder : Text.Part("hello", -100, 3)
Reducer: "hel"
###
> Text.Part("hello", 100, 3)
Text.Part("hello", 100, 3) : s
Binder : Text.Part("hello", 100, 3)
Reducer: ""
###
> Text.Part("hello", 3, -100)
Text.Part("hello", 3, -100) : s
Binder : Text.Part("hello", 3, -100)
Reducer: ""
###
> Text.Part("hello", 100, -100)
Text.Part("hello", 100, -100) : s
Binder : Text.Part("hello", 100, -100)
Reducer: ""
###
> Text.Part(s, i8, 1)
Text.Part(s, i8, 1) : s
Binder : Text.Part(s, i8, 1)
###
> Text.Part(s, 0, i8)
Text.Part(s, 0, i8) : s
Binder : Text.Part(s, 0, i8)
###
> Text.Part(s, i8, i8)
Text.Part(s, i8, i8) : s
Binder : Text.Part(s, i8, i8)
###
> Text.Part(s, i2, 1)
Text.Part(s, i2, 1) : s
Binder : Text.Part(s, Num<i8>(i2), 1)
###
> Text.Part(s, 0, i2)
Text.Part(s, 0, i2) : s
Binder : Text.Part(s, 0, Num<i8>(i2))
###
> Text.Part(s, i2, i2)
Text.Part(s, i2, i2) : s
Binder : Text.Part(s, Num<i8>(i2), Num<i8>(i2))
###
> Text.Part(s, r8, 1)
Text.Part(s, r8, 1) : s
*** Error: (13,15) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : Text.Part(s, Error(ErrBadType_Src_Dst), 1)
###
> Text.Part(s, 0, r8)
Text.Part(s, 0, r8) : s
*** Error: (16,18) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : Text.Part(s, 0, Error(ErrBadType_Src_Dst))
###
> Text.Part(s, r8, r8)
Text.Part(s, r8, r8) : s
*** Error: (13,15) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
*** Error: (17,19) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : Text.Part(s, Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
###
> Text.Part(s, u2, 1)
Text.Part(s, u2, 1) : s
Binder : Text.Part(s, Num<i8>(u2), 1)
###
> Text.Part(s, 0, u2)
Text.Part(s, 0, u2) : s
Binder : Text.Part(s, 0, Num<i8>(u2))
###
> Text.Part(s, u2, u2)
Text.Part(s, u2, u2) : s
Binder : Text.Part(s, Num<i8>(u2), Num<i8>(u2))
###
> Text.Part(s, u4, 1)
Text.Part(s, u4, 1) : s
Binder : Text.Part(s, Num<i8>(u4), 1)
###
> Text.Part(s, 0, u4)
Text.Part(s, 0, u4) : s
Binder : Text.Part(s, 0, Num<i8>(u4))
###
> Text.Part(s, u4, u4)
Text.Part(s, u4, u4) : s
Binder : Text.Part(s, Num<i8>(u4), Num<i8>(u4))
###
> Text.Part(g, g, g)
Text.Part(g, g, g) : s
*** Error: (10,11) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
*** Error: (13,14) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
*** Error: (16,17) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
###
> Text.Part(o, o, o)
Text.Part(o, o, o) : s
Binder : Guard(?1: o, ?2: o, Text.Part(str(<null>), Unit<i8>(?1), Unit<i8>(?2)))
Reducer: str(<null>)
###
> Text.Part(s, s, s)
Text.Part(s, s, s) : s
*** Error: (13,14) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
*** Error: (16,17) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Text.Part(s, Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
###
> Text.Part(b, b, b)
Text.Part(b, b, b) : s
*** Error: (10,11) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(b), Num<i8>(b))
###
> Text.Part(d, d, d)
Text.Part(d, d, d) : s
*** Error: (10,11) Node: d, Message: Invalid operand type: cannot convert type 'd' to 's'
*** Error: (13,14) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
*** Error: (16,17) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
###
> Text.Part(n, n, n)
Text.Part(n, n, n) : s
*** Error: (10,11) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
*** Error: (13,14) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
*** Error: (16,17) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
###
> Text.Part(r8, r8, r8)
Text.Part(r8, r8, r8) : s
*** Error: (10,12) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 's'
*** Error: (14,16) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
*** Error: (18,20) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
###
> Text.Part(r4, r4, r4)
Text.Part(r4, r4, r4) : s
*** Error: (10,12) Node: r4, Message: Invalid operand type: cannot convert type 'r4' to 's'
*** Error: (14,16) Node: r4, Message: Invalid operand type: cannot convert type 'r4' to 'i8'
*** Error: (18,20) Node: r4, Message: Invalid operand type: cannot convert type 'r4' to 'i8'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
###
> Text.Part(i, i, i)
Text.Part(i, i, i) : s
*** Error: (10,11) Node: i, Message: Invalid operand type: cannot convert type 'i' to 's'
*** Error: (13,14) Node: i, Message: Invalid operand type: cannot convert type 'i' to 'i8'
*** Error: (16,17) Node: i, Message: Invalid operand type: cannot convert type 'i' to 'i8'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
###
> Text.Part(i8, i8, i8)
Text.Part(i8, i8, i8) : s
*** Error: (10,12) Node: i8, Message: Invalid operand type: cannot convert type 'i8' to 's'
Binder : Text.Part(Error(ErrBadType_Src_Dst), i8, i8)
###
> Text.Part(i4, i4, i4)
Text.Part(i4, i4, i4) : s
*** Error: (10,12) Node: i4, Message: Invalid operand type: cannot convert type 'i4' to 's'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(i4), Num<i8>(i4))
###
> Text.Part(i2, i2, i2)
Text.Part(i2, i2, i2) : s
*** Error: (10,12) Node: i2, Message: Invalid operand type: cannot convert type 'i2' to 's'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(i2), Num<i8>(i2))
###
> Text.Part(i1, i1, i1)
Text.Part(i1, i1, i1) : s
*** Error: (10,12) Node: i1, Message: Invalid operand type: cannot convert type 'i1' to 's'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(i1), Num<i8>(i1))
###
> Text.Part(u8, u8, u8)
Text.Part(u8, u8, u8) : s
*** Error: (10,12) Node: u8, Message: Invalid operand type: cannot convert type 'u8' to 's'
*** Warning: (14,16) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
*** Warning: (18,20) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(u8), Num<i8>(u8))
###
> Text.Part(u4, u4, u4)
Text.Part(u4, u4, u4) : s
*** Error: (10,12) Node: u4, Message: Invalid operand type: cannot convert type 'u4' to 's'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(u4), Num<i8>(u4))
###
> Text.Part(u2, u2, u2)
Text.Part(u2, u2, u2) : s
*** Error: (10,12) Node: u2, Message: Invalid operand type: cannot convert type 'u2' to 's'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(u2), Num<i8>(u2))
###
> Text.Part(u1, u1, u1)
Text.Part(u1, u1, u1) : s
*** Error: (10,12) Node: u1, Message: Invalid operand type: cannot convert type 'u1' to 's'
Binder : Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(u1), Num<i8>(u1))
###
> Text.Trim(g)
Text.Trim(g) : s
*** Error: (10,11) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : Text.Trim(Error(ErrBadType_Src_Dst))
###
> Text.Trim(o)
Text.Trim(o) : s
Binder : Text.Trim(str(<null>))
Reducer: str(<null>)
###
> Text.Trim(s)
Text.Trim(s) : s
Binder : Text.Trim(s)
###
> Text.Trim(b)
Text.Trim(b) : s
*** Error: (10,11) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : Text.Trim(Error(ErrBadType_Src_Dst))
###
> Text.Trim(n)
Text.Trim(n) : s
*** Error: (10,11) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : Text.Trim(Error(ErrBadType_Src_Dst))
###
> Text.Trim(" h e l l o ")
Text.Trim(" h e l l o ") : s
Binder : Text.Trim(" h e l l o ")
Reducer: "h e l l o"
###
> Text.Trim(null)
Text.Trim(null) : s
Binder : Text.Trim(str(<null>))
Reducer: str(<null>)
###
> Text.TrimStart(g)
Text.TrimStart(g) : s
*** Error: (15,16) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : Text.TrimStart(Error(ErrBadType_Src_Dst))
###
> Text.TrimStart(o)
Text.TrimStart(o) : s
Binder : Text.TrimStart(str(<null>))
Reducer: str(<null>)
###
> Text.TrimStart(s)
Text.TrimStart(s) : s
Binder : Text.TrimStart(s)
###
> Text.TrimStart(b)
Text.TrimStart(b) : s
*** Error: (15,16) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : Text.TrimStart(Error(ErrBadType_Src_Dst))
###
> Text.TrimStart(n)
Text.TrimStart(n) : s
*** Error: (15,16) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : Text.TrimStart(Error(ErrBadType_Src_Dst))
###
> Text.TrimStart(" h e l l o ")
Text.TrimStart(" h e l l o ") : s
Binder : Text.TrimStart(" h e l l o ")
Reducer: "h e l l o "
###
> Text.TrimStart(null)
Text.TrimStart(null) : s
Binder : Text.TrimStart(str(<null>))
Reducer: str(<null>)
###
> Text.TrimEnd(g)
Text.TrimEnd(g) : s
*** Error: (13,14) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : Text.TrimEnd(Error(ErrBadType_Src_Dst))
###
> Text.TrimEnd(o)
Text.TrimEnd(o) : s
Binder : Text.TrimEnd(str(<null>))
Reducer: str(<null>)
###
> Text.TrimEnd(s)
Text.TrimEnd(s) : s
Binder : Text.TrimEnd(s)
###
> Text.TrimEnd(b)
Text.TrimEnd(b) : s
*** Error: (13,14) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : Text.TrimEnd(Error(ErrBadType_Src_Dst))
###
> Text.TrimEnd(n)
Text.TrimEnd(n) : s
*** Error: (13,14) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : Text.TrimEnd(Error(ErrBadType_Src_Dst))
###
> Text.TrimEnd(" h e l l o ")
Text.TrimEnd(" h e l l o ") : s
Binder : Text.TrimEnd(" h e l l o ")
Reducer: " h e l l o"
###
> Text.TrimEnd(null)
Text.TrimEnd(null) : s
Binder : Text.TrimEnd(str(<null>))
Reducer: str(<null>)
###
> Text.Replace(s, s, s)
Text.Replace(s, s, s) : s
Binder : Text.Replace(s, s, s)
###
> Text.Replace(null, s, s)
Text.Replace(null, s, s) : s
Binder : Text.Replace(str(<null>), s, s)
Reducer: str(<null>)
###
> Text.Replace("", s, s)
Text.Replace("", s, s) : s
Binder : Text.Replace("", s, s)
Reducer: ""
###
> Text.Replace(s, null, s)
Text.Replace(s, null, s) : s
Binder : Text.Replace(s, str(<null>), s)
Reducer: s
###
> Text.Replace(s, "", s)
Text.Replace(s, "", s) : s
Binder : Text.Replace(s, "", s)
Reducer: s
###
> Text.Replace("ABC", "X", s)
Text.Replace("ABC", "X", s) : s
Binder : Text.Replace("ABC", "X", s)
Reducer: "ABC"
###
> Text.Replace("ABC", "B", "X")
Text.Replace("ABC", "B", "X") : s
Binder : Text.Replace("ABC", "B", "X")
Reducer: "AXC"
###
> Text.Replace("ABACDAE", "A", "!!")
Text.Replace("ABACDAE", "A", "!!") : s
Binder : Text.Replace("ABACDAE", "A", "!!")
Reducer: "!!B!!CD!!E"
###

**** New globals: {b:b*, d:d*, g:g*, i:i*, i1:i1*, i2:i2*, i4:i4*, i8:i8*, n:r8*, o:o*, qb:b?*, qi:i?*, qi1:i1?*, qi2:i2?*, qi4:i4?*, qi8:i8?*, qn:r8?*, qr4:r4?*, qr8:r8?*, qu1:u1?*, qu2:u2?*, qu4:u4?*, qu8:u8?*, r4:r4*, r8:r8*, s:s*, u1:u1*, u2:u2*, u4:u4*, u8:u8*}

> s.Len
s.Len : i8*
Binder : ForEach(*1: s, Text.Len(*1))
###
> s.Lower
s.Lower : s*
Binder : ForEach(*1: s, Text.Lower(*1))
###
> s.Upper
s.Upper : s*
Binder : ForEach(*1: s, Text.Upper(*1))
###
> s.Trim
s.Trim : s*
Binder : ForEach(*1: s, Text.Trim(*1))
###
> s.TrimStart
s.TrimStart : s*
Binder : ForEach(*1: s, Text.TrimStart(*1))
###
> s.TrimEnd
s.TrimEnd : s*
Binder : ForEach(*1: s, Text.TrimEnd(*1))
###
> s->Text.Len()
s->Text.Len() : i8*
Binder : ForEach(*1: s, Text.Len(*1))
###
> s->Text.Lower()
s->Text.Lower() : s*
Binder : ForEach(*1: s, Text.Lower(*1))
###
> s->Text.Upper()
s->Text.Upper() : s*
Binder : ForEach(*1: s, Text.Upper(*1))
###
> s->Text.Trim()
s->Text.Trim() : s*
Binder : ForEach(*1: s, Text.Trim(*1))
###
> s->Text.TrimStart()
s->Text.TrimStart() : s*
Binder : ForEach(*1: s, Text.TrimStart(*1))
###
> s->Text.TrimEnd()
s->Text.TrimEnd() : s*
Binder : ForEach(*1: s, Text.TrimEnd(*1))
###
> s->Len()
s->Len() : i8*
Binder : ForEach(*1: s, Text.Len(*1))
###
> s->Lower()
s->Lower() : s*
Binder : ForEach(*1: s, Text.Lower(*1))
###
> s->Upper()
s->Upper() : s*
Binder : ForEach(*1: s, Text.Upper(*1))
###
> s->Trim()
s->Trim() : s*
Binder : ForEach(*1: s, Text.Trim(*1))
###
> s->TrimStart()
s->TrimStart() : s*
Binder : ForEach(*1: s, Text.TrimStart(*1))
###
> s->TrimEnd()
s->TrimEnd() : s*
Binder : ForEach(*1: s, Text.TrimEnd(*1))
###
> Text.Len(g)
Text.Len(g) : i8*
*** Error: (9,10) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : ForEach(*1: g, Text.Len(Error(ErrBadType_Src_Dst)))
###
> Text.Len(o)
Text.Len(o) : i8*
Binder : ForEach(*1: o, Text.Len(str(<null>)))
Reducer: ForEach(*1: o, 0)
###
> Text.Len(s)
Text.Len(s) : i8*
Binder : ForEach(*1: s, Text.Len(*1))
###
> Text.Len(b)
Text.Len(b) : i8*
*** Error: (9,10) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : ForEach(*1: b, Text.Len(Error(ErrBadType_Src_Dst)))
###
> Text.Len(qb)
Text.Len(qb) : i8*
*** Error: (9,11) Node: qb, Message: Invalid operand type: cannot convert type 'b?' to 's'
Binder : ForEach(*1: qb, Text.Len(Error(ErrBadType_Src_Dst)))
###
> Text.Len(i4)
Text.Len(i4) : i8*
*** Error: (9,11) Node: i4, Message: Invalid operand type: cannot convert type 'i4' to 's'
Binder : ForEach(*1: i4, Text.Len(Error(ErrBadType_Src_Dst)))
###
> Text.Len(qi4)
Text.Len(qi4) : i8*
*** Error: (9,12) Node: qi4, Message: Invalid operand type: cannot convert type 'i4?' to 's'
Binder : ForEach(*1: qi4, Text.Len(Error(ErrBadType_Src_Dst)))
###
> Text.Lower(g)
Text.Lower(g) : s*
*** Error: (11,12) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : ForEach(*1: g, Text.Lower(Error(ErrBadType_Src_Dst)))
###
> Text.Lower(o)
Text.Lower(o) : s*
Binder : ForEach(*1: o, Text.Lower(str(<null>)))
Reducer: ForEach(*1: o, str(<null>))
###
> Text.Lower(s)
Text.Lower(s) : s*
Binder : ForEach(*1: s, Text.Lower(*1))
###
> Text.Lower(b)
Text.Lower(b) : s*
*** Error: (11,12) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : ForEach(*1: b, Text.Lower(Error(ErrBadType_Src_Dst)))
###
> Text.Lower(qb)
Text.Lower(qb) : s*
*** Error: (11,13) Node: qb, Message: Invalid operand type: cannot convert type 'b?' to 's'
Binder : ForEach(*1: qb, Text.Lower(Error(ErrBadType_Src_Dst)))
###
> Text.Lower(i4)
Text.Lower(i4) : s*
*** Error: (11,13) Node: i4, Message: Invalid operand type: cannot convert type 'i4' to 's'
Binder : ForEach(*1: i4, Text.Lower(Error(ErrBadType_Src_Dst)))
###
> Text.Lower(qi4)
Text.Lower(qi4) : s*
*** Error: (11,14) Node: qi4, Message: Invalid operand type: cannot convert type 'i4?' to 's'
Binder : ForEach(*1: qi4, Text.Lower(Error(ErrBadType_Src_Dst)))
###
> Text.Upper(g)
Text.Upper(g) : s*
*** Error: (11,12) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : ForEach(*1: g, Text.Upper(Error(ErrBadType_Src_Dst)))
###
> Text.Upper(o)
Text.Upper(o) : s*
Binder : ForEach(*1: o, Text.Upper(str(<null>)))
Reducer: ForEach(*1: o, str(<null>))
###
> Text.Upper(s)
Text.Upper(s) : s*
Binder : ForEach(*1: s, Text.Upper(*1))
###
> Text.Upper(b)
Text.Upper(b) : s*
*** Error: (11,12) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : ForEach(*1: b, Text.Upper(Error(ErrBadType_Src_Dst)))
###
> Text.Upper(qb)
Text.Upper(qb) : s*
*** Error: (11,13) Node: qb, Message: Invalid operand type: cannot convert type 'b?' to 's'
Binder : ForEach(*1: qb, Text.Upper(Error(ErrBadType_Src_Dst)))
###
> Text.Upper(i4)
Text.Upper(i4) : s*
*** Error: (11,13) Node: i4, Message: Invalid operand type: cannot convert type 'i4' to 's'
Binder : ForEach(*1: i4, Text.Upper(Error(ErrBadType_Src_Dst)))
###
> Text.Upper(qi4)
Text.Upper(qi4) : s*
*** Error: (11,14) Node: qi4, Message: Invalid operand type: cannot convert type 'i4?' to 's'
Binder : ForEach(*1: qi4, Text.Upper(Error(ErrBadType_Src_Dst)))
###
> Text.Part(s, -10)
Text.Part(s, -10) : s*
Binder : ForEach(*1: s, Text.Part(*1, -10))
###
> Text.Part(s, i4)
Text.Part(s, i4) : s*
Binder : ForEach(*1: s, *2: i4, Text.Part(*1, Num<i8>(*2)))
###
> Text.Part(s, i2)
Text.Part(s, i2) : s*
Binder : ForEach(*1: s, *2: i2, Text.Part(*1, Num<i8>(*2)))
###
> Text.Part(s, i8)
Text.Part(s, i8) : s*
Binder : ForEach(*1: s, *2: i8, Text.Part(*1, *2))
###
> Text.Part(s, r8)
Text.Part(s, r8) : s*
*** Error: (13,15) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : ForEach(*1: s, *2: r8, Text.Part(*1, Error(ErrBadType_Src_Dst)))
###
> Text.Part(s, u4)
Text.Part(s, u4) : s*
Binder : ForEach(*1: s, *2: u4, Text.Part(*1, Num<i8>(*2)))
###
> Text.Part(s, 0)
Text.Part(s, 0) : s*
Binder : ForEach(*1: s, Text.Part(*1, 0))
###
> Text.Part("", i4, 0)
Text.Part("", i4, 0) : s*
Binder : ForEach(*1: i4, Text.Part("", Num<i8>(*1), 0))
Reducer: ForEach(*1: i4, "")
###
> Text.Part("", 0, i4)
Text.Part("", 0, i4) : s*
Binder : ForEach(*1: i4, Text.Part("", 0, Num<i8>(*1)))
Reducer: ForEach(*1: i4, "")
###
> Text.Part(s, 0, 1)
Text.Part(s, 0, 1) : s*
Binder : ForEach(*1: s, Text.Part(*1, 0, 1))
###
> Text.Part(s, i4, 0)
Text.Part(s, i4, 0) : s*
Binder : ForEach(*1: s, *2: i4, Text.Part(*1, Num<i8>(*2), 0))
###
> Text.Part(s, -1, i4)
Text.Part(s, -1, i4) : s*
Binder : ForEach(*1: s, *2: i4, Text.Part(*1, -1, Num<i8>(*2)))
###
> Text.Part("hello", i4, 0)
Text.Part("hello", i4, 0) : s*
Binder : ForEach(*1: i4, Text.Part("hello", Num<i8>(*1), 0))
###
> Text.Part("hello", -1, i4)
Text.Part("hello", -1, i4) : s*
Binder : ForEach(*1: i4, Text.Part("hello", -1, Num<i8>(*1)))
###
> Text.Part(s, i8, 1)
Text.Part(s, i8, 1) : s*
Binder : ForEach(*1: s, *2: i8, Text.Part(*1, *2, 1))
###
> Text.Part(s, 0, i8)
Text.Part(s, 0, i8) : s*
Binder : ForEach(*1: s, *2: i8, Text.Part(*1, 0, *2))
###
> Text.Part(s, i8, i8)
Text.Part(s, i8, i8) : s*
Binder : ForEach(*1: s, *2: i8, *3: i8, Text.Part(*1, *2, *3))
Reducer: ForEach(*1: s, *2: i8, Text.Part(*1, *2, *2))
###
> Text.Part(s, i2, 1)
Text.Part(s, i2, 1) : s*
Binder : ForEach(*1: s, *2: i2, Text.Part(*1, Num<i8>(*2), 1))
###
> Text.Part(s, 0, i2)
Text.Part(s, 0, i2) : s*
Binder : ForEach(*1: s, *2: i2, Text.Part(*1, 0, Num<i8>(*2)))
###
> Text.Part(s, i2, i2)
Text.Part(s, i2, i2) : s*
Binder : ForEach(*1: s, *2: i2, *3: i2, Text.Part(*1, Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: s, *2: i2, Text.Part(*1, Num<i8>(*2), Num<i8>(*2)))
###
> Text.Part(s, r8, 1)
Text.Part(s, r8, 1) : s*
*** Error: (13,15) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : ForEach(*1: s, *2: r8, Text.Part(*1, Error(ErrBadType_Src_Dst), 1))
###
> Text.Part(s, 0, r8)
Text.Part(s, 0, r8) : s*
*** Error: (16,18) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : ForEach(*1: s, *2: r8, Text.Part(*1, 0, Error(ErrBadType_Src_Dst)))
###
> Text.Part(s, r8, r8)
Text.Part(s, r8, r8) : s*
*** Error: (13,15) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
*** Error: (17,19) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : ForEach(*1: s, *2: r8, *3: r8, Text.Part(*1, Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
Reducer: ForEach(*1: s, *2: r8, Text.Part(*1, Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
###
> Text.Part(s, u2, 1)
Text.Part(s, u2, 1) : s*
Binder : ForEach(*1: s, *2: u2, Text.Part(*1, Num<i8>(*2), 1))
###
> Text.Part(s, 0, u2)
Text.Part(s, 0, u2) : s*
Binder : ForEach(*1: s, *2: u2, Text.Part(*1, 0, Num<i8>(*2)))
###
> Text.Part(s, u2, u2)
Text.Part(s, u2, u2) : s*
Binder : ForEach(*1: s, *2: u2, *3: u2, Text.Part(*1, Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: s, *2: u2, Text.Part(*1, Num<i8>(*2), Num<i8>(*2)))
###
> Text.Part(s, u4, 1)
Text.Part(s, u4, 1) : s*
Binder : ForEach(*1: s, *2: u4, Text.Part(*1, Num<i8>(*2), 1))
###
> Text.Part(s, 0, u4)
Text.Part(s, 0, u4) : s*
Binder : ForEach(*1: s, *2: u4, Text.Part(*1, 0, Num<i8>(*2)))
###
> Text.Part(s, u4, u4)
Text.Part(s, u4, u4) : s*
Binder : ForEach(*1: s, *2: u4, *3: u4, Text.Part(*1, Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: s, *2: u4, Text.Part(*1, Num<i8>(*2), Num<i8>(*2)))
###
> Text.Part(g, g, g)
Text.Part(g, g, g) : s*
*** Error: (10,11) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
*** Error: (13,14) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
*** Error: (16,17) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
Binder : ForEach(*1: g, *2: g, *3: g, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
Reducer: ForEach(*1: g, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
###
> Text.Part(o, o, o)
Text.Part(o, o, o) : s*
Binder : ForEach(*1: o, *2: o, *3: o, Guard(?4: *2, ?5: *3, Text.Part(str(<null>), Unit<i8>(?4), Unit<i8>(?5))))
Reducer: ForEach(*1: o, str(<null>))
###
> Text.Part(s, s, s)
Text.Part(s, s, s) : s*
*** Error: (13,14) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
*** Error: (16,17) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : ForEach(*1: s, *2: s, *3: s, Text.Part(*1, Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
Reducer: ForEach(*1: s, Text.Part(*1, Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
###
> Text.Part(b, b, b)
Text.Part(b, b, b) : s*
*** Error: (10,11) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : ForEach(*1: b, *2: b, *3: b, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: b, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*1), Num<i8>(*1)))
###
> Text.Part(d, d, d)
Text.Part(d, d, d) : s*
*** Error: (10,11) Node: d, Message: Invalid operand type: cannot convert type 'd' to 's'
*** Error: (13,14) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
*** Error: (16,17) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : ForEach(*1: d, *2: d, *3: d, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
Reducer: ForEach(*1: d, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
###
> Text.Part(n, n, n)
Text.Part(n, n, n) : s*
*** Error: (10,11) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
*** Error: (13,14) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
*** Error: (16,17) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : ForEach(*1: n, *2: n, *3: n, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
Reducer: ForEach(*1: n, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
###
> Text.Part(r8, r8, r8)
Text.Part(r8, r8, r8) : s*
*** Error: (10,12) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 's'
*** Error: (14,16) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
*** Error: (18,20) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : ForEach(*1: r8, *2: r8, *3: r8, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
Reducer: ForEach(*1: r8, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
###
> Text.Part(r4, r4, r4)
Text.Part(r4, r4, r4) : s*
*** Error: (10,12) Node: r4, Message: Invalid operand type: cannot convert type 'r4' to 's'
*** Error: (14,16) Node: r4, Message: Invalid operand type: cannot convert type 'r4' to 'i8'
*** Error: (18,20) Node: r4, Message: Invalid operand type: cannot convert type 'r4' to 'i8'
Binder : ForEach(*1: r4, *2: r4, *3: r4, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
Reducer: ForEach(*1: r4, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
###
> Text.Part(i, i, i)
Text.Part(i, i, i) : s*
*** Error: (10,11) Node: i, Message: Invalid operand type: cannot convert type 'i' to 's'
*** Error: (13,14) Node: i, Message: Invalid operand type: cannot convert type 'i' to 'i8'
*** Error: (16,17) Node: i, Message: Invalid operand type: cannot convert type 'i' to 'i8'
Binder : ForEach(*1: i, *2: i, *3: i, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
Reducer: ForEach(*1: i, Text.Part(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst)))
###
> Text.Part(i8, i8, i8)
Text.Part(i8, i8, i8) : s*
*** Error: (10,12) Node: i8, Message: Invalid operand type: cannot convert type 'i8' to 's'
Binder : ForEach(*1: i8, *2: i8, *3: i8, Text.Part(Error(ErrBadType_Src_Dst), *2, *3))
Reducer: ForEach(*1: i8, Text.Part(Error(ErrBadType_Src_Dst), *1, *1))
###
> Text.Part(i4, i4, i4)
Text.Part(i4, i4, i4) : s*
*** Error: (10,12) Node: i4, Message: Invalid operand type: cannot convert type 'i4' to 's'
Binder : ForEach(*1: i4, *2: i4, *3: i4, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: i4, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*1), Num<i8>(*1)))
###
> Text.Part(i2, i2, i2)
Text.Part(i2, i2, i2) : s*
*** Error: (10,12) Node: i2, Message: Invalid operand type: cannot convert type 'i2' to 's'
Binder : ForEach(*1: i2, *2: i2, *3: i2, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: i2, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*1), Num<i8>(*1)))
###
> Text.Part(i1, i1, i1)
Text.Part(i1, i1, i1) : s*
*** Error: (10,12) Node: i1, Message: Invalid operand type: cannot convert type 'i1' to 's'
Binder : ForEach(*1: i1, *2: i1, *3: i1, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: i1, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*1), Num<i8>(*1)))
###
> Text.Part(u8, u8, u8)
Text.Part(u8, u8, u8) : s*
*** Error: (10,12) Node: u8, Message: Invalid operand type: cannot convert type 'u8' to 's'
*** Warning: (14,16) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
*** Warning: (18,20) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : ForEach(*1: u8, *2: u8, *3: u8, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: u8, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*1), Num<i8>(*1)))
###
> Text.Part(u4, u4, u4)
Text.Part(u4, u4, u4) : s*
*** Error: (10,12) Node: u4, Message: Invalid operand type: cannot convert type 'u4' to 's'
Binder : ForEach(*1: u4, *2: u4, *3: u4, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: u4, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*1), Num<i8>(*1)))
###
> Text.Part(u2, u2, u2)
Text.Part(u2, u2, u2) : s*
*** Error: (10,12) Node: u2, Message: Invalid operand type: cannot convert type 'u2' to 's'
Binder : ForEach(*1: u2, *2: u2, *3: u2, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: u2, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*1), Num<i8>(*1)))
###
> Text.Part(u1, u1, u1)
Text.Part(u1, u1, u1) : s*
*** Error: (10,12) Node: u1, Message: Invalid operand type: cannot convert type 'u1' to 's'
Binder : ForEach(*1: u1, *2: u1, *3: u1, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*2), Num<i8>(*3)))
Reducer: ForEach(*1: u1, Text.Part(Error(ErrBadType_Src_Dst), Num<i8>(*1), Num<i8>(*1)))
###
> Text.Trim(g)
Text.Trim(g) : s*
*** Error: (10,11) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : ForEach(*1: g, Text.Trim(Error(ErrBadType_Src_Dst)))
###
> Text.Trim(o)
Text.Trim(o) : s*
Binder : ForEach(*1: o, Text.Trim(str(<null>)))
Reducer: ForEach(*1: o, str(<null>))
###
> Text.Trim(s)
Text.Trim(s) : s*
Binder : ForEach(*1: s, Text.Trim(*1))
###
> Text.Trim(b)
Text.Trim(b) : s*
*** Error: (10,11) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : ForEach(*1: b, Text.Trim(Error(ErrBadType_Src_Dst)))
###
> Text.Trim(n)
Text.Trim(n) : s*
*** Error: (10,11) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : ForEach(*1: n, Text.Trim(Error(ErrBadType_Src_Dst)))
###
> Text.TrimStart(g)
Text.TrimStart(g) : s*
*** Error: (15,16) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : ForEach(*1: g, Text.TrimStart(Error(ErrBadType_Src_Dst)))
###
> Text.TrimStart(o)
Text.TrimStart(o) : s*
Binder : ForEach(*1: o, Text.TrimStart(str(<null>)))
Reducer: ForEach(*1: o, str(<null>))
###
> Text.TrimStart(s)
Text.TrimStart(s) : s*
Binder : ForEach(*1: s, Text.TrimStart(*1))
###
> Text.TrimStart(b)
Text.TrimStart(b) : s*
*** Error: (15,16) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : ForEach(*1: b, Text.TrimStart(Error(ErrBadType_Src_Dst)))
###
> Text.TrimStart(n)
Text.TrimStart(n) : s*
*** Error: (15,16) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : ForEach(*1: n, Text.TrimStart(Error(ErrBadType_Src_Dst)))
###
> Text.TrimEnd(g)
Text.TrimEnd(g) : s*
*** Error: (13,14) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : ForEach(*1: g, Text.TrimEnd(Error(ErrBadType_Src_Dst)))
###
> Text.TrimEnd(o)
Text.TrimEnd(o) : s*
Binder : ForEach(*1: o, Text.TrimEnd(str(<null>)))
Reducer: ForEach(*1: o, str(<null>))
###
> Text.TrimEnd(s)
Text.TrimEnd(s) : s*
Binder : ForEach(*1: s, Text.TrimEnd(*1))
###
> Text.TrimEnd(b)
Text.TrimEnd(b) : s*
*** Error: (13,14) Node: b, Message: Invalid operand type: cannot convert type 'b' to 's'
Binder : ForEach(*1: b, Text.TrimEnd(Error(ErrBadType_Src_Dst)))
###
> Text.TrimEnd(n)
Text.TrimEnd(n) : s*
*** Error: (13,14) Node: n, Message: Invalid operand type: cannot convert type 'r8' to 's'
Binder : ForEach(*1: n, Text.TrimEnd(Error(ErrBadType_Src_Dst)))
###
> Text.Replace(s, "B", "X")
Text.Replace(s, "B", "X") : s*
Binder : ForEach(*1: s, Text.Replace(*1, "B", "X"))
###
> Text.Replace("ABC", s, "X")
Text.Replace("ABC", s, "X") : s*
Binder : ForEach(*1: s, Text.Replace("ABC", *1, "X"))
###
> Text.Replace("ABC", "B", s)
Text.Replace("ABC", "B", s) : s*
Binder : ForEach(*1: s, Text.Replace("ABC", "B", *1))
###
> Text.Replace(s, s, "X")
Text.Replace(s, s, "X") : s*
Binder : ForEach(*1: s, *2: s, Text.Replace(*1, *2, "X"))
Reducer: ForEach(*1: s, Text.Replace(*1, *1, "X"))
###
> Text.Replace(s, "B", s)
Text.Replace(s, "B", s) : s*
Binder : ForEach(*1: s, *2: s, Text.Replace(*1, "B", *2))
Reducer: ForEach(*1: s, Text.Replace(*1, "B", *1))
###
> Text.Replace("ABC", s, s)
Text.Replace("ABC", s, s) : s*
Binder : ForEach(*1: s, *2: s, Text.Replace("ABC", *1, *2))
Reducer: ForEach(*1: s, Text.Replace("ABC", *1, *1))
###
> Text.Replace(s, s, s)
Text.Replace(s, s, s) : s*
Binder : ForEach(*1: s, *2: s, *3: s, Text.Replace(*1, *2, *3))
Reducer: ForEach(*1: s, Text.Replace(*1, *1, *1))
###
> Text.Replace(s, "", s)
Text.Replace(s, "", s) : s*
Binder : ForEach(*1: s, *2: s, Text.Replace(*1, "", *2))
Reducer: s
###
