**** New definitions: I8s, type: i8*
**** New definitions: I4s, type: i4*
**** New definitions: I2s, type: i2*
**** New definitions: I1s, type: i1*
**** New definitions: U8s, type: u8*
**** New definitions: U4s, type: u4*
**** New definitions: U2s, type: u2*
**** New definitions: U1s, type: u1*

> I8s->CastI8()->CastIA()
I8s->CastI8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I8s), Num<i>(Scope(1))):i*))
// (∂.I8s:i8*) : i*
ForEach_1(Arr<obj>, i8):ia
      1) ldarg.1 [i8]
      5) newobj ia(i8)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i8>
      1) stloc.0 [Seq<i8>]
      1) ldloc.0 [Seq<i8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i8,ia>]
      5) call static ForEachGen::Exec(Seq<i8>, Func<i8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I8s:i8*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 65536
 8) 2147483647
 9) 2147483648
10) 4294967296
11) 9223372036854775807
12) -9223372036854775808
###
> I8s->CastU8()->CastIA()
I8s->CastU8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I8s), Num<i>(Call(∂.CastU8(Scope(1)):u8))):i*))
// (∂.I8s:i8*) : i*
ForEach_1(Arr<obj>, i8):ia
      1) ldarg.1 [i8]
      5) newobj ia(u8)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i8>
      1) stloc.0 [Seq<i8>]
      1) ldloc.0 [Seq<i8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i8,ia>]
      5) call static ForEachGen::Exec(Seq<i8>, Func<i8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I8s:i8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 18446744073709551609
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 65536
 8) 2147483647
 9) 2147483648
10) 4294967296
11) 9223372036854775807
12) 9223372036854775808
###
> I8s->CastI4()->CastIA()
I8s->CastI4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I8s), Num<i>(Call(∂.CastI4(Scope(1)):i4))):i*))
// (∂.I8s:i8*) : i*
ForEach_1(Arr<obj>, i8):ia
      1) ldarg.1 [i8]
      1) conv.i4
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i8>
      1) stloc.0 [Seq<i8>]
      1) ldloc.0 [Seq<i8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i8,ia>]
      5) call static ForEachGen::Exec(Seq<i8>, Func<i8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I8s:i8*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 65536
 8) 2147483647
 9) -2147483648
10) 0
11) -1
12) 0
###
> I8s->CastU4()->CastIA()
I8s->CastU4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I8s), Num<i>(Call(∂.CastU4(Scope(1)):u4))):i*))
// (∂.I8s:i8*) : i*
ForEach_1(Arr<obj>, i8):ia
      1) ldarg.1 [i8]
      1) conv.u4
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i8>
      1) stloc.0 [Seq<i8>]
      1) ldloc.0 [Seq<i8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i8,ia>]
      5) call static ForEachGen::Exec(Seq<i8>, Func<i8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I8s:i8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 4294967289
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 65536
 8) 2147483647
 9) 2147483648
10) 0
11) 4294967295
12) 0
###
> I8s->CastI2()->CastIA()
I8s->CastI2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I8s), Num<i>(Call(∂.CastI2(Scope(1)):i2))):i*))
// (∂.I8s:i8*) : i*
ForEach_1(Arr<obj>, i8):ia
      1) ldarg.1 [i8]
      1) conv.i2
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i8>
      1) stloc.0 [Seq<i8>]
      1) ldloc.0 [Seq<i8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i8,ia>]
      5) call static ForEachGen::Exec(Seq<i8>, Func<i8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I8s:i8*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) 128
 4) 256
 5) 32767
 6) -32768
 7) 0
 8) -1
 9) 0
10) 0
11) -1
12) 0
###
> I8s->CastU2()->CastIA()
I8s->CastU2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I8s), Num<i>(Call(∂.CastU2(Scope(1)):u2))):i*))
// (∂.I8s:i8*) : i*
ForEach_1(Arr<obj>, i8):ia
      1) ldarg.1 [i8]
      1) conv.u2
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i8>
      1) stloc.0 [Seq<i8>]
      1) ldloc.0 [Seq<i8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i8,ia>]
      5) call static ForEachGen::Exec(Seq<i8>, Func<i8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I8s:i8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 65529
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 0
 8) 65535
 9) 0
10) 0
11) 65535
12) 0
###
> I8s->CastI1()->CastIA()
I8s->CastI1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I8s), Num<i>(Call(∂.CastI1(Scope(1)):i1))):i*))
// (∂.I8s:i8*) : i*
ForEach_1(Arr<obj>, i8):ia
      1) ldarg.1 [i8]
      1) conv.i1
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i8>
      1) stloc.0 [Seq<i8>]
      1) ldloc.0 [Seq<i8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i8,ia>]
      5) call static ForEachGen::Exec(Seq<i8>, Func<i8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I8s:i8*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) -128
 4) 0
 5) -1
 6) 0
 7) 0
 8) -1
 9) 0
10) 0
11) -1
12) 0
###
> I8s->CastU1()->CastIA()
I8s->CastU1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I8s), Num<i>(Call(∂.CastU1(Scope(1)):u1))):i*))
// (∂.I8s:i8*) : i*
ForEach_1(Arr<obj>, i8):ia
      1) ldarg.1 [i8]
      1) conv.u1
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i8>
      1) stloc.0 [Seq<i8>]
      1) ldloc.0 [Seq<i8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i8,ia>]
      5) call static ForEachGen::Exec(Seq<i8>, Func<i8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I8s:i8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 249
 2) 127
 3) 128
 4) 0
 5) 255
 6) 0
 7) 0
 8) 255
 9) 0
10) 0
11) 255
12) 0
###
> U8s->CastI8()->CastIA()
U8s->CastI8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U8s), Num<i>(Num<i8>(Scope(1)))):i*))
// (∂.U8s:u8*) : i*
ForEach_1(Arr<obj>, u8):ia
      1) ldarg.1 [u8]
      5) newobj ia(i8)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u8>
      1) stloc.0 [Seq<u8>]
      1) ldloc.0 [Seq<u8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u8,ia>]
      5) call static ForEachGen::Exec(Seq<u8>, Func<u8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U8s:u8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 65536
 8) 2147483648
 9) 4294967295
10) 4294967296
11) -9223372036854775808
12) -1
###
> U8s->CastU8()->CastIA()
U8s->CastU8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U8s), Num<i>(Scope(1))):i*))
// (∂.U8s:u8*) : i*
ForEach_1(Arr<obj>, u8):ia
      1) ldarg.1 [u8]
      5) newobj ia(u8)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u8>
      1) stloc.0 [Seq<u8>]
      1) ldloc.0 [Seq<u8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u8,ia>]
      5) call static ForEachGen::Exec(Seq<u8>, Func<u8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U8s:u8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 65536
 8) 2147483648
 9) 4294967295
10) 4294967296
11) 9223372036854775808
12) 18446744073709551615
###
> U8s->CastI4()->CastIA()
U8s->CastI4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U8s), Num<i>(Call(∂.CastI4(Scope(1)):i4))):i*))
// (∂.U8s:u8*) : i*
ForEach_1(Arr<obj>, u8):ia
      1) ldarg.1 [u8]
      1) conv.i4
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u8>
      1) stloc.0 [Seq<u8>]
      1) ldloc.0 [Seq<u8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u8,ia>]
      5) call static ForEachGen::Exec(Seq<u8>, Func<u8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U8s:u8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 65536
 8) -2147483648
 9) -1
10) 0
11) 0
12) -1
###
> U8s->CastU4()->CastIA()
U8s->CastU4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U8s), Num<i>(Call(∂.CastU4(Scope(1)):u4))):i*))
// (∂.U8s:u8*) : i*
ForEach_1(Arr<obj>, u8):ia
      1) ldarg.1 [u8]
      1) conv.u4
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u8>
      1) stloc.0 [Seq<u8>]
      1) ldloc.0 [Seq<u8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u8,ia>]
      5) call static ForEachGen::Exec(Seq<u8>, Func<u8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U8s:u8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 65536
 8) 2147483648
 9) 4294967295
10) 0
11) 0
12) 4294967295
###
> U8s->CastI2()->CastIA()
U8s->CastI2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U8s), Num<i>(Call(∂.CastI2(Scope(1)):i2))):i*))
// (∂.U8s:u8*) : i*
ForEach_1(Arr<obj>, u8):ia
      1) ldarg.1 [u8]
      1) conv.i2
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u8>
      1) stloc.0 [Seq<u8>]
      1) ldloc.0 [Seq<u8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u8,ia>]
      5) call static ForEachGen::Exec(Seq<u8>, Func<u8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U8s:u8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) -32768
 6) -1
 7) 0
 8) 0
 9) -1
10) 0
11) 0
12) -1
###
> U8s->CastU2()->CastIA()
U8s->CastU2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U8s), Num<i>(Call(∂.CastU2(Scope(1)):u2))):i*))
// (∂.U8s:u8*) : i*
ForEach_1(Arr<obj>, u8):ia
      1) ldarg.1 [u8]
      1) conv.u2
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u8>
      1) stloc.0 [Seq<u8>]
      1) ldloc.0 [Seq<u8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u8,ia>]
      5) call static ForEachGen::Exec(Seq<u8>, Func<u8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U8s:u8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 0
 8) 0
 9) 65535
10) 0
11) 0
12) 65535
###
> U8s->CastI1()->CastIA()
U8s->CastI1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U8s), Num<i>(Call(∂.CastI1(Scope(1)):i1))):i*))
// (∂.U8s:u8*) : i*
ForEach_1(Arr<obj>, u8):ia
      1) ldarg.1 [u8]
      1) conv.i1
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u8>
      1) stloc.0 [Seq<u8>]
      1) ldloc.0 [Seq<u8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u8,ia>]
      5) call static ForEachGen::Exec(Seq<u8>, Func<u8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U8s:u8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) -128
 3) -1
 4) 0
 5) 0
 6) -1
 7) 0
 8) 0
 9) -1
10) 0
11) 0
12) -1
###
> U8s->CastU1()->CastIA()
U8s->CastU1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U8s), Num<i>(Call(∂.CastU1(Scope(1)):u1))):i*))
// (∂.U8s:u8*) : i*
ForEach_1(Arr<obj>, u8):ia
      1) ldarg.1 [u8]
      1) conv.u1
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u8>
      1) stloc.0 [Seq<u8>]
      1) ldloc.0 [Seq<u8>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u8,ia>]
      5) call static ForEachGen::Exec(Seq<u8>, Func<u8,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U8s:u8*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 0
 5) 0
 6) 255
 7) 0
 8) 0
 9) 255
10) 0
11) 0
12) 255
###
> I4s->CastI8()->CastIA()
I4s->CastI8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I4s), Num<i>(Num<i8>(Scope(1)))):i*))
// (∂.I4s:i4*) : i*
ForEach_1(Arr<obj>, i4):ia
      1) ldarg.1 [i4]
      1) conv.i8
      5) newobj ia(i8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i4>
      1) stloc.0 [Seq<i4>]
      1) ldloc.0 [Seq<i4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i4,ia>]
      5) call static ForEachGen::Exec(Seq<i4>, Func<i4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I4s:i4*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 65536
 8) 2147483647
 9) -2147483648
###
> I4s->CastU8()->CastIA()
I4s->CastU8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I4s), Num<i>(Call(∂.CastU8(Scope(1)):u8))):i*))
// (∂.I4s:i4*) : i*
ForEach_1(Arr<obj>, i4):ia
      1) ldarg.1 [i4]
      1) conv.i8
      5) newobj ia(u8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i4>
      1) stloc.0 [Seq<i4>]
      1) ldloc.0 [Seq<i4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i4,ia>]
      5) call static ForEachGen::Exec(Seq<i4>, Func<i4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I4s:i4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 18446744073709551609
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 65536
 8) 2147483647
 9) 18446744071562067968
###
> I4s->CastI4()->CastIA()
I4s->CastI4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I4s), Num<i>(Scope(1))):i*))
// (∂.I4s:i4*) : i*
ForEach_1(Arr<obj>, i4):ia
      1) ldarg.1 [i4]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i4>
      1) stloc.0 [Seq<i4>]
      1) ldloc.0 [Seq<i4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i4,ia>]
      5) call static ForEachGen::Exec(Seq<i4>, Func<i4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I4s:i4*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 65536
 8) 2147483647
 9) -2147483648
###
> I4s->CastU4()->CastIA()
I4s->CastU4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I4s), Num<i>(Call(∂.CastU4(Scope(1)):u4))):i*))
// (∂.I4s:i4*) : i*
ForEach_1(Arr<obj>, i4):ia
      1) ldarg.1 [i4]
      5) newobj ia(u4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i4>
      1) stloc.0 [Seq<i4>]
      1) ldloc.0 [Seq<i4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i4,ia>]
      5) call static ForEachGen::Exec(Seq<i4>, Func<i4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I4s:i4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 4294967289
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 65536
 8) 2147483647
 9) 2147483648
###
> I4s->CastI2()->CastIA()
I4s->CastI2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I4s), Num<i>(Call(∂.CastI2(Scope(1)):i2))):i*))
// (∂.I4s:i4*) : i*
ForEach_1(Arr<obj>, i4):ia
      1) ldarg.1 [i4]
      1) conv.i2
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i4>
      1) stloc.0 [Seq<i4>]
      1) ldloc.0 [Seq<i4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i4,ia>]
      5) call static ForEachGen::Exec(Seq<i4>, Func<i4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I4s:i4*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) 128
 4) 256
 5) 32767
 6) -32768
 7) 0
 8) -1
 9) 0
###
> I4s->CastU2()->CastIA()
I4s->CastU2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I4s), Num<i>(Call(∂.CastU2(Scope(1)):u2))):i*))
// (∂.I4s:i4*) : i*
ForEach_1(Arr<obj>, i4):ia
      1) ldarg.1 [i4]
      1) conv.u2
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i4>
      1) stloc.0 [Seq<i4>]
      1) ldloc.0 [Seq<i4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i4,ia>]
      5) call static ForEachGen::Exec(Seq<i4>, Func<i4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I4s:i4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 65529
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
 7) 0
 8) 65535
 9) 0
###
> I4s->CastI1()->CastIA()
I4s->CastI1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I4s), Num<i>(Call(∂.CastI1(Scope(1)):i1))):i*))
// (∂.I4s:i4*) : i*
ForEach_1(Arr<obj>, i4):ia
      1) ldarg.1 [i4]
      1) conv.i1
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i4>
      1) stloc.0 [Seq<i4>]
      1) ldloc.0 [Seq<i4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i4,ia>]
      5) call static ForEachGen::Exec(Seq<i4>, Func<i4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I4s:i4*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) -128
 4) 0
 5) -1
 6) 0
 7) 0
 8) -1
 9) 0
###
> I4s->CastU1()->CastIA()
I4s->CastU1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I4s), Num<i>(Call(∂.CastU1(Scope(1)):u1))):i*))
// (∂.I4s:i4*) : i*
ForEach_1(Arr<obj>, i4):ia
      1) ldarg.1 [i4]
      1) conv.u1
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i4>
      1) stloc.0 [Seq<i4>]
      1) ldloc.0 [Seq<i4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i4,ia>]
      5) call static ForEachGen::Exec(Seq<i4>, Func<i4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I4s:i4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 249
 2) 127
 3) 128
 4) 0
 5) 255
 6) 0
 7) 0
 8) 255
 9) 0
###
> U4s->CastI8()->CastIA()
U4s->CastI8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U4s), Num<i>(Num<i8>(Scope(1)))):i*))
// (∂.U4s:u4*) : i*
ForEach_1(Arr<obj>, u4):ia
      1) ldarg.1 [u4]
      1) conv.u8
      5) newobj ia(i8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u4>
      1) stloc.0 [Seq<u4>]
      1) ldloc.0 [Seq<u4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u4,ia>]
      5) call static ForEachGen::Exec(Seq<u4>, Func<u4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U4s:u4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 65536
 8) 2147483648
 9) 4294967295
###
> U4s->CastU8()->CastIA()
U4s->CastU8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U4s), Num<i>(Num<u8>(Scope(1)))):i*))
// (∂.U4s:u4*) : i*
ForEach_1(Arr<obj>, u4):ia
      1) ldarg.1 [u4]
      1) conv.u8
      5) newobj ia(u8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u4>
      1) stloc.0 [Seq<u4>]
      1) ldloc.0 [Seq<u4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u4,ia>]
      5) call static ForEachGen::Exec(Seq<u4>, Func<u4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U4s:u4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 65536
 8) 2147483648
 9) 4294967295
###
> U4s->CastI4()->CastIA()
U4s->CastI4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U4s), Num<i>(Call(∂.CastI4(Scope(1)):i4))):i*))
// (∂.U4s:u4*) : i*
ForEach_1(Arr<obj>, u4):ia
      1) ldarg.1 [u4]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u4>
      1) stloc.0 [Seq<u4>]
      1) ldloc.0 [Seq<u4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u4,ia>]
      5) call static ForEachGen::Exec(Seq<u4>, Func<u4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U4s:u4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 65536
 8) -2147483648
 9) -1
###
> U4s->CastU4()->CastIA()
U4s->CastU4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U4s), Num<i>(Scope(1))):i*))
// (∂.U4s:u4*) : i*
ForEach_1(Arr<obj>, u4):ia
      1) ldarg.1 [u4]
      5) newobj ia(u4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u4>
      1) stloc.0 [Seq<u4>]
      1) ldloc.0 [Seq<u4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u4,ia>]
      5) call static ForEachGen::Exec(Seq<u4>, Func<u4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U4s:u4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 65536
 8) 2147483648
 9) 4294967295
###
> U4s->CastI2()->CastIA()
U4s->CastI2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U4s), Num<i>(Call(∂.CastI2(Scope(1)):i2))):i*))
// (∂.U4s:u4*) : i*
ForEach_1(Arr<obj>, u4):ia
      1) ldarg.1 [u4]
      1) conv.i2
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u4>
      1) stloc.0 [Seq<u4>]
      1) ldloc.0 [Seq<u4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u4,ia>]
      5) call static ForEachGen::Exec(Seq<u4>, Func<u4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U4s:u4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) -32768
 6) -1
 7) 0
 8) 0
 9) -1
###
> U4s->CastU2()->CastIA()
U4s->CastU2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U4s), Num<i>(Call(∂.CastU2(Scope(1)):u2))):i*))
// (∂.U4s:u4*) : i*
ForEach_1(Arr<obj>, u4):ia
      1) ldarg.1 [u4]
      1) conv.u2
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u4>
      1) stloc.0 [Seq<u4>]
      1) ldloc.0 [Seq<u4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u4,ia>]
      5) call static ForEachGen::Exec(Seq<u4>, Func<u4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U4s:u4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
 7) 0
 8) 0
 9) 65535
###
> U4s->CastI1()->CastIA()
U4s->CastI1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U4s), Num<i>(Call(∂.CastI1(Scope(1)):i1))):i*))
// (∂.U4s:u4*) : i*
ForEach_1(Arr<obj>, u4):ia
      1) ldarg.1 [u4]
      1) conv.i1
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u4>
      1) stloc.0 [Seq<u4>]
      1) ldloc.0 [Seq<u4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u4,ia>]
      5) call static ForEachGen::Exec(Seq<u4>, Func<u4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U4s:u4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) -128
 3) -1
 4) 0
 5) 0
 6) -1
 7) 0
 8) 0
 9) -1
###
> U4s->CastU1()->CastIA()
U4s->CastU1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U4s), Num<i>(Call(∂.CastU1(Scope(1)):u1))):i*))
// (∂.U4s:u4*) : i*
ForEach_1(Arr<obj>, u4):ia
      1) ldarg.1 [u4]
      1) conv.u1
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u4>
      1) stloc.0 [Seq<u4>]
      1) ldloc.0 [Seq<u4>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u4,ia>]
      5) call static ForEachGen::Exec(Seq<u4>, Func<u4,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U4s:u4*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 0
 5) 0
 6) 255
 7) 0
 8) 0
 9) 255
###
> I2s->CastI8()->CastIA()
I2s->CastI8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I2s), Num<i>(Num<i8>(Scope(1)))):i*))
// (∂.I2s:i2*) : i*
ForEach_1(Arr<obj>, i2):ia
      1) ldarg.1 [i2]
      1) conv.i8
      5) newobj ia(i8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i2>
      1) stloc.0 [Seq<i2>]
      1) ldloc.0 [Seq<i2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i2,ia>]
      5) call static ForEachGen::Exec(Seq<i2>, Func<i2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I2s:i2*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) 128
 4) 256
 5) 32767
 6) -32768
###
> I2s->CastU8()->CastIA()
I2s->CastU8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I2s), Num<i>(Call(∂.CastU8(Scope(1)):u8))):i*))
// (∂.I2s:i2*) : i*
ForEach_1(Arr<obj>, i2):ia
      1) ldarg.1 [i2]
      1) conv.i8
      5) newobj ia(u8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i2>
      1) stloc.0 [Seq<i2>]
      1) ldloc.0 [Seq<i2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i2,ia>]
      5) call static ForEachGen::Exec(Seq<i2>, Func<i2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I2s:i2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 18446744073709551609
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 18446744073709518848
###
> I2s->CastI4()->CastIA()
I2s->CastI4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I2s), Num<i>(Num<i4>(Scope(1)))):i*))
// (∂.I2s:i2*) : i*
ForEach_1(Arr<obj>, i2):ia
      1) ldarg.1 [i2]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i2>
      1) stloc.0 [Seq<i2>]
      1) ldloc.0 [Seq<i2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i2,ia>]
      5) call static ForEachGen::Exec(Seq<i2>, Func<i2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I2s:i2*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) 128
 4) 256
 5) 32767
 6) -32768
###
> I2s->CastU4()->CastIA()
I2s->CastU4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I2s), Num<i>(Call(∂.CastU4(Scope(1)):u4))):i*))
// (∂.I2s:i2*) : i*
ForEach_1(Arr<obj>, i2):ia
      1) ldarg.1 [i2]
      5) newobj ia(u4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i2>
      1) stloc.0 [Seq<i2>]
      1) ldloc.0 [Seq<i2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i2,ia>]
      5) call static ForEachGen::Exec(Seq<i2>, Func<i2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I2s:i2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 4294967289
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 4294934528
###
> I2s->CastI2()->CastIA()
I2s->CastI2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I2s), Num<i>(Scope(1))):i*))
// (∂.I2s:i2*) : i*
ForEach_1(Arr<obj>, i2):ia
      1) ldarg.1 [i2]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i2>
      1) stloc.0 [Seq<i2>]
      1) ldloc.0 [Seq<i2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i2,ia>]
      5) call static ForEachGen::Exec(Seq<i2>, Func<i2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I2s:i2*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) 128
 4) 256
 5) 32767
 6) -32768
###
> I2s->CastU2()->CastIA()
I2s->CastU2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I2s), Num<i>(Call(∂.CastU2(Scope(1)):u2))):i*))
// (∂.I2s:i2*) : i*
ForEach_1(Arr<obj>, i2):ia
      1) ldarg.1 [i2]
      1) conv.u2
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i2>
      1) stloc.0 [Seq<i2>]
      1) ldloc.0 [Seq<i2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i2,ia>]
      5) call static ForEachGen::Exec(Seq<i2>, Func<i2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I2s:i2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 65529
 2) 127
 3) 128
 4) 256
 5) 32767
 6) 32768
###
> I2s->CastI1()->CastIA()
I2s->CastI1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I2s), Num<i>(Call(∂.CastI1(Scope(1)):i1))):i*))
// (∂.I2s:i2*) : i*
ForEach_1(Arr<obj>, i2):ia
      1) ldarg.1 [i2]
      1) conv.i1
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i2>
      1) stloc.0 [Seq<i2>]
      1) ldloc.0 [Seq<i2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i2,ia>]
      5) call static ForEachGen::Exec(Seq<i2>, Func<i2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I2s:i2*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) -128
 4) 0
 5) -1
 6) 0
###
> I2s->CastU1()->CastIA()
I2s->CastU1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I2s), Num<i>(Call(∂.CastU1(Scope(1)):u1))):i*))
// (∂.I2s:i2*) : i*
ForEach_1(Arr<obj>, i2):ia
      1) ldarg.1 [i2]
      1) conv.u1
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i2>
      1) stloc.0 [Seq<i2>]
      1) ldloc.0 [Seq<i2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i2,ia>]
      5) call static ForEachGen::Exec(Seq<i2>, Func<i2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I2s:i2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 249
 2) 127
 3) 128
 4) 0
 5) 255
 6) 0
###
> U2s->CastI8()->CastIA()
U2s->CastI8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U2s), Num<i>(Num<i8>(Scope(1)))):i*))
// (∂.U2s:u2*) : i*
ForEach_1(Arr<obj>, u2):ia
      1) ldarg.1 [u2]
      1) conv.u8
      5) newobj ia(i8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u2>
      1) stloc.0 [Seq<u2>]
      1) ldloc.0 [Seq<u2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u2,ia>]
      5) call static ForEachGen::Exec(Seq<u2>, Func<u2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U2s:u2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
###
> U2s->CastU8()->CastIA()
U2s->CastU8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U2s), Num<i>(Num<u8>(Scope(1)))):i*))
// (∂.U2s:u2*) : i*
ForEach_1(Arr<obj>, u2):ia
      1) ldarg.1 [u2]
      1) conv.u8
      5) newobj ia(u8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u2>
      1) stloc.0 [Seq<u2>]
      1) ldloc.0 [Seq<u2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u2,ia>]
      5) call static ForEachGen::Exec(Seq<u2>, Func<u2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U2s:u2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
###
> U2s->CastI4()->CastIA()
U2s->CastI4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U2s), Num<i>(Num<i4>(Scope(1)))):i*))
// (∂.U2s:u2*) : i*
ForEach_1(Arr<obj>, u2):ia
      1) ldarg.1 [u2]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u2>
      1) stloc.0 [Seq<u2>]
      1) ldloc.0 [Seq<u2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u2,ia>]
      5) call static ForEachGen::Exec(Seq<u2>, Func<u2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U2s:u2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
###
> U2s->CastU4()->CastIA()
U2s->CastU4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U2s), Num<i>(Num<u4>(Scope(1)))):i*))
// (∂.U2s:u2*) : i*
ForEach_1(Arr<obj>, u2):ia
      1) ldarg.1 [u2]
      5) newobj ia(u4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u2>
      1) stloc.0 [Seq<u2>]
      1) ldloc.0 [Seq<u2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u2,ia>]
      5) call static ForEachGen::Exec(Seq<u2>, Func<u2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U2s:u2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
###
> U2s->CastI2()->CastIA()
U2s->CastI2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U2s), Num<i>(Call(∂.CastI2(Scope(1)):i2))):i*))
// (∂.U2s:u2*) : i*
ForEach_1(Arr<obj>, u2):ia
      1) ldarg.1 [u2]
      1) conv.i2
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u2>
      1) stloc.0 [Seq<u2>]
      1) ldloc.0 [Seq<u2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u2,ia>]
      5) call static ForEachGen::Exec(Seq<u2>, Func<u2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U2s:u2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) -32768
 6) -1
###
> U2s->CastU2()->CastIA()
U2s->CastU2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U2s), Num<i>(Scope(1))):i*))
// (∂.U2s:u2*) : i*
ForEach_1(Arr<obj>, u2):ia
      1) ldarg.1 [u2]
      5) newobj ia(u4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u2>
      1) stloc.0 [Seq<u2>]
      1) ldloc.0 [Seq<u2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u2,ia>]
      5) call static ForEachGen::Exec(Seq<u2>, Func<u2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U2s:u2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 256
 5) 32768
 6) 65535
###
> U2s->CastI1()->CastIA()
U2s->CastI1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U2s), Num<i>(Call(∂.CastI1(Scope(1)):i1))):i*))
// (∂.U2s:u2*) : i*
ForEach_1(Arr<obj>, u2):ia
      1) ldarg.1 [u2]
      1) conv.i1
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u2>
      1) stloc.0 [Seq<u2>]
      1) ldloc.0 [Seq<u2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u2,ia>]
      5) call static ForEachGen::Exec(Seq<u2>, Func<u2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U2s:u2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) -128
 3) -1
 4) 0
 5) 0
 6) -1
###
> U2s->CastU1()->CastIA()
U2s->CastU1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U2s), Num<i>(Call(∂.CastU1(Scope(1)):u1))):i*))
// (∂.U2s:u2*) : i*
ForEach_1(Arr<obj>, u2):ia
      1) ldarg.1 [u2]
      1) conv.u1
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u2>
      1) stloc.0 [Seq<u2>]
      1) ldloc.0 [Seq<u2>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u2,ia>]
      5) call static ForEachGen::Exec(Seq<u2>, Func<u2,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U2s:u2*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
 4) 0
 5) 0
 6) 255
###
> I1s->CastI8()->CastIA()
I1s->CastI8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I1s), Num<i>(Num<i8>(Scope(1)))):i*))
// (∂.I1s:i1*) : i*
ForEach_1(Arr<obj>, i1):ia
      1) ldarg.1 [i1]
      1) conv.i8
      5) newobj ia(i8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i1>
      1) stloc.0 [Seq<i1>]
      1) ldloc.0 [Seq<i1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i1,ia>]
      5) call static ForEachGen::Exec(Seq<i1>, Func<i1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I1s:i1*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) -128
###
> I1s->CastU8()->CastIA()
I1s->CastU8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I1s), Num<i>(Call(∂.CastU8(Scope(1)):u8))):i*))
// (∂.I1s:i1*) : i*
ForEach_1(Arr<obj>, i1):ia
      1) ldarg.1 [i1]
      1) conv.i8
      5) newobj ia(u8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i1>
      1) stloc.0 [Seq<i1>]
      1) ldloc.0 [Seq<i1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i1,ia>]
      5) call static ForEachGen::Exec(Seq<i1>, Func<i1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I1s:i1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 18446744073709551609
 2) 127
 3) 18446744073709551488
###
> I1s->CastI4()->CastIA()
I1s->CastI4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I1s), Num<i>(Num<i4>(Scope(1)))):i*))
// (∂.I1s:i1*) : i*
ForEach_1(Arr<obj>, i1):ia
      1) ldarg.1 [i1]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i1>
      1) stloc.0 [Seq<i1>]
      1) ldloc.0 [Seq<i1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i1,ia>]
      5) call static ForEachGen::Exec(Seq<i1>, Func<i1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I1s:i1*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) -128
###
> I1s->CastU4()->CastIA()
I1s->CastU4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I1s), Num<i>(Call(∂.CastU4(Scope(1)):u4))):i*))
// (∂.I1s:i1*) : i*
ForEach_1(Arr<obj>, i1):ia
      1) ldarg.1 [i1]
      5) newobj ia(u4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i1>
      1) stloc.0 [Seq<i1>]
      1) ldloc.0 [Seq<i1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i1,ia>]
      5) call static ForEachGen::Exec(Seq<i1>, Func<i1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I1s:i1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 4294967289
 2) 127
 3) 4294967168
###
> I1s->CastI2()->CastIA()
I1s->CastI2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I1s), Num<i>(Num<i2>(Scope(1)))):i*))
// (∂.I1s:i1*) : i*
ForEach_1(Arr<obj>, i1):ia
      1) ldarg.1 [i1]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i1>
      1) stloc.0 [Seq<i1>]
      1) ldloc.0 [Seq<i1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i1,ia>]
      5) call static ForEachGen::Exec(Seq<i1>, Func<i1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I1s:i1*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) -128
###
> I1s->CastU2()->CastIA()
I1s->CastU2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I1s), Num<i>(Call(∂.CastU2(Scope(1)):u2))):i*))
// (∂.I1s:i1*) : i*
ForEach_1(Arr<obj>, i1):ia
      1) ldarg.1 [i1]
      1) conv.u2
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i1>
      1) stloc.0 [Seq<i1>]
      1) ldloc.0 [Seq<i1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i1,ia>]
      5) call static ForEachGen::Exec(Seq<i1>, Func<i1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I1s:i1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 65529
 2) 127
 3) 65408
###
> I1s->CastI1()->CastIA()
I1s->CastI1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I1s), Num<i>(Scope(1))):i*))
// (∂.I1s:i1*) : i*
ForEach_1(Arr<obj>, i1):ia
      1) ldarg.1 [i1]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i1>
      1) stloc.0 [Seq<i1>]
      1) ldloc.0 [Seq<i1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i1,ia>]
      5) call static ForEachGen::Exec(Seq<i1>, Func<i1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I1s:i1*) to i*
Sequence: Seq<ia>
 0) 3
 1) -7
 2) 127
 3) -128
###
> I1s->CastU1()->CastIA()
I1s->CastU1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(I1s), Num<i>(Call(∂.CastU1(Scope(1)):u1))):i*))
// (∂.I1s:i1*) : i*
ForEach_1(Arr<obj>, i1):ia
      1) ldarg.1 [i1]
      1) conv.u1
      5) newobj ia(u4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<i1>
      1) stloc.0 [Seq<i1>]
      1) ldloc.0 [Seq<i1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<i1,ia>]
      5) call static ForEachGen::Exec(Seq<i1>, Func<i1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (I1s:i1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 249
 2) 127
 3) 128
###
> U1s->CastI8()->CastIA()
U1s->CastI8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U1s), Num<i>(Num<i8>(Scope(1)))):i*))
// (∂.U1s:u1*) : i*
ForEach_1(Arr<obj>, u1):ia
      1) ldarg.1 [u1]
      1) conv.u8
      5) newobj ia(i8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u1>
      1) stloc.0 [Seq<u1>]
      1) ldloc.0 [Seq<u1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u1,ia>]
      5) call static ForEachGen::Exec(Seq<u1>, Func<u1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U1s:u1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
###
> U1s->CastU8()->CastIA()
U1s->CastU8()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U1s), Num<i>(Num<u8>(Scope(1)))):i*))
// (∂.U1s:u1*) : i*
ForEach_1(Arr<obj>, u1):ia
      1) ldarg.1 [u1]
      1) conv.u8
      5) newobj ia(u8)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u1>
      1) stloc.0 [Seq<u1>]
      1) ldloc.0 [Seq<u1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u1,ia>]
      5) call static ForEachGen::Exec(Seq<u1>, Func<u1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U1s:u1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
###
> U1s->CastI4()->CastIA()
U1s->CastI4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U1s), Num<i>(Num<i4>(Scope(1)))):i*))
// (∂.U1s:u1*) : i*
ForEach_1(Arr<obj>, u1):ia
      1) ldarg.1 [u1]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u1>
      1) stloc.0 [Seq<u1>]
      1) ldloc.0 [Seq<u1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u1,ia>]
      5) call static ForEachGen::Exec(Seq<u1>, Func<u1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U1s:u1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
###
> U1s->CastU4()->CastIA()
U1s->CastU4()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U1s), Num<i>(Num<u4>(Scope(1)))):i*))
// (∂.U1s:u1*) : i*
ForEach_1(Arr<obj>, u1):ia
      1) ldarg.1 [u1]
      5) newobj ia(u4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u1>
      1) stloc.0 [Seq<u1>]
      1) ldloc.0 [Seq<u1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u1,ia>]
      5) call static ForEachGen::Exec(Seq<u1>, Func<u1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U1s:u1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
###
> U1s->CastI2()->CastIA()
U1s->CastI2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U1s), Num<i>(Num<i2>(Scope(1)))):i*))
// (∂.U1s:u1*) : i*
ForEach_1(Arr<obj>, u1):ia
      1) ldarg.1 [u1]
      5) newobj ia(i4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u1>
      1) stloc.0 [Seq<u1>]
      1) ldloc.0 [Seq<u1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u1,ia>]
      5) call static ForEachGen::Exec(Seq<u1>, Func<u1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U1s:u1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
###
> U1s->CastU2()->CastIA()
U1s->CastU2()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U1s), Num<i>(Num<u2>(Scope(1)))):i*))
// (∂.U1s:u1*) : i*
ForEach_1(Arr<obj>, u1):ia
      1) ldarg.1 [u1]
      5) newobj ia(u4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u1>
      1) stloc.0 [Seq<u1>]
      1) ldloc.0 [Seq<u1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u1,ia>]
      5) call static ForEachGen::Exec(Seq<u1>, Func<u1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U1s:u1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
###
> U1s->CastI1()->CastIA()
U1s->CastI1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U1s), Num<i>(Call(∂.CastI1(Scope(1)):i1))):i*))
// (∂.U1s:u1*) : i*
ForEach_1(Arr<obj>, u1):ia
      1) ldarg.1 [u1]
      1) conv.i1
      5) newobj ia(i4)
      1) ret
  Total Size: 8

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u1>
      1) stloc.0 [Seq<u1>]
      1) ldloc.0 [Seq<u1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u1,ia>]
      5) call static ForEachGen::Exec(Seq<u1>, Func<u1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U1s:u1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) -128
 3) -1
###
> U1s->CastU1()->CastIA()
U1s->CastU1()->CastIA() : i*
BndKind:Call, Type:i*, Bnd:(Call(∂.ForEach([map:1] Global(U1s), Num<i>(Scope(1))):i*))
// (∂.U1s:u1*) : i*
ForEach_1(Arr<obj>, u1):ia
      1) ldarg.1 [u1]
      5) newobj ia(u4)
      1) ret
  Total Size: 7

top(Arr<obj>, Arr<obj>):obj
      1) ldarg.1 [Arr<obj>]
      1) ldc.i4.0
      1) ldelem.ref
      5) call static CodeGenUtil::ToRef(obj):Seq<u1>
      1) stloc.0 [Seq<u1>]
      1) ldloc.0 [Seq<u1>]
      1) ldarg.0 [Arr<obj>]
      1) ldc.i4.0
      5) ldelem [Func<u1,ia>]
      5) call static ForEachGen::Exec(Seq<u1>, Func<u1,ia>):Seq<ia>
      5) call static CodeGenUtil::EnumerableToCaching(Seq<ia>):Seq<ia>
      1) ret
  Total Size: 28

Func sig: (U1s:u1*) to i*
Sequence: Seq<ia>
 0) 3
 1) 7
 2) 128
 3) 255
###
