**** New globals: {b:b, k:s, n:i8, s:i8*}

> CrossJoin(x:s, y:s, false, "match")
CrossJoin(x : s, y : s, false, "match") : s*
Binder : (0, 0) CrossJoin(*1: s, *2: s, false, "match")
###
> CrossJoin(x:s, y:Range(0), false, "match")
CrossJoin(x : s, y : Range(0), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: s, *2: Range(0), false, "match")
###
> CrossJoin(x:s, y:Range(1), false, "match")
CrossJoin(x : s, y : Range(1), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: s, *2: Range(1), false, "match")
###
> CrossJoin(x:s, y:Range(7), false, "match")
CrossJoin(x : s, y : Range(7), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: s, *2: Range(7), false, "match")
###
> CrossJoin(x:Range(0), y:s, false, "match")
CrossJoin(x : Range(0), y : s, false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: s, false, "match")
###
> CrossJoin(x:Range(0), y:Range(0), false, "match")
CrossJoin(x : Range(0), y : Range(0), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(0), false, "match")
###
> CrossJoin(x:Range(0), y:Range(1), false, "match")
CrossJoin(x : Range(0), y : Range(1), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(1), false, "match")
###
> CrossJoin(x:Range(0), y:Range(7), false, "match")
CrossJoin(x : Range(0), y : Range(7), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(7), false, "match")
###
> CrossJoin(x:Range(1), y:s, false, "match")
CrossJoin(x : Range(1), y : s, false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(1), *2: s, false, "match")
###
> CrossJoin(x:Range(1), y:Range(0), false, "match")
CrossJoin(x : Range(1), y : Range(0), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(1), *2: Range(0), false, "match")
###
> CrossJoin(x:Range(1), y:Range(1), false, "match")
CrossJoin(x : Range(1), y : Range(1), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(1), *2: Range(1), false, "match")
###
> CrossJoin(x:Range(1), y:Range(7), false, "match")
CrossJoin(x : Range(1), y : Range(7), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(1), *2: Range(7), false, "match")
###
> CrossJoin(x:Range(10), y:s, false, "match")
CrossJoin(x : Range(10), y : s, false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(10), *2: s, false, "match")
###
> CrossJoin(x:Range(10), y:Range(0), false, "match")
CrossJoin(x : Range(10), y : Range(0), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(10), *2: Range(0), false, "match")
###
> CrossJoin(x:Range(10), y:Range(1), false, "match")
CrossJoin(x : Range(10), y : Range(1), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(10), *2: Range(1), false, "match")
###
> CrossJoin(x:Range(10), y:Range(7), false, "match")
CrossJoin(x : Range(10), y : Range(7), false, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(10), *2: Range(7), false, "match")
###
> CrossJoin(x:s, y:s, false, "match", "left")
CrossJoin(x : s, y : s, false, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: s, false, "match", "left")
###
> CrossJoin(x:s, y:Range(0), false, "match", "left")
CrossJoin(x : s, y : Range(0), false, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(0), false, "match", "left")
###
> CrossJoin(x:s, y:Range(1), false, "match", "left")
CrossJoin(x : s, y : Range(1), false, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(1), false, "match", "left")
###
> CrossJoin(x:s, y:Range(7), false, "match", "left")
CrossJoin(x : s, y : Range(7), false, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(7), false, "match", "left")
###
> CrossJoin(x:Range(0), y:s, false, "match", "left")
CrossJoin(x : Range(0), y : s, false, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: s, false, "match", "left")
###
> CrossJoin(x:Range(0), y:Range(0), false, "match", "left")
CrossJoin(x : Range(0), y : Range(0), false, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(0), false, "match", "left")
###
> CrossJoin(x:Range(0), y:Range(1), false, "match", "left")
CrossJoin(x : Range(0), y : Range(1), false, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(1), false, "match", "left")
###
> CrossJoin(x:Range(0), y:Range(7), false, "match", "left")
CrossJoin(x : Range(0), y : Range(7), false, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(7), false, "match", "left")
###
> CrossJoin(x:Range(1), y:s, false, "match", "left")
CrossJoin(x : Range(1), y : s, false, "match", "left") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: s, false, "match", "left")
###
> CrossJoin(x:Range(1), y:Range(0), false, "match", "left")
CrossJoin(x : Range(1), y : Range(0), false, "match", "left") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(0), false, "match", "left")
###
> CrossJoin(x:Range(1), y:Range(1), false, "match", "left")
CrossJoin(x : Range(1), y : Range(1), false, "match", "left") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(1), false, "match", "left")
###
> CrossJoin(x:Range(1), y:Range(7), false, "match", "left")
CrossJoin(x : Range(1), y : Range(7), false, "match", "left") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(7), false, "match", "left")
###
> CrossJoin(x:Range(10), y:s, false, "match", "left")
CrossJoin(x : Range(10), y : s, false, "match", "left") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: s, false, "match", "left")
###
> CrossJoin(x:Range(10), y:Range(0), false, "match", "left")
CrossJoin(x : Range(10), y : Range(0), false, "match", "left") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(0), false, "match", "left")
###
> CrossJoin(x:Range(10), y:Range(1), false, "match", "left")
CrossJoin(x : Range(10), y : Range(1), false, "match", "left") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(1), false, "match", "left")
###
> CrossJoin(x:Range(10), y:Range(7), false, "match", "left")
CrossJoin(x : Range(10), y : Range(7), false, "match", "left") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(7), false, "match", "left")
###
> CrossJoin(x:s, y:s, false, "match", "left", "right")
CrossJoin(x : s, y : s, false, "match", "left", "right") : s*
Binder : (0, *) CrossJoin(*1: s, *2: s, false, "match", "left", "right")
###
> CrossJoin(x:s, y:Range(0), false, "match", "left", "right")
CrossJoin(x : s, y : Range(0), false, "match", "left", "right") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(0), false, "match", "left", "right")
###
> CrossJoin(x:s, y:Range(1), false, "match", "left", "right")
CrossJoin(x : s, y : Range(1), false, "match", "left", "right") : s*
Binder : (1, *) CrossJoin(*1: s, *2: Range(1), false, "match", "left", "right")
###
> CrossJoin(x:s, y:Range(7), false, "match", "left", "right")
CrossJoin(x : s, y : Range(7), false, "match", "left", "right") : s*
Binder : (7, *) CrossJoin(*1: s, *2: Range(7), false, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:s, false, "match", "left", "right")
CrossJoin(x : Range(0), y : s, false, "match", "left", "right") : s*
Binder : (0, *) CrossJoin(*1: Range(0), *2: s, false, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:Range(0), false, "match", "left", "right")
CrossJoin(x : Range(0), y : Range(0), false, "match", "left", "right") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(0), false, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:Range(1), false, "match", "left", "right")
CrossJoin(x : Range(0), y : Range(1), false, "match", "left", "right") : s*
Binder : (1, 1) CrossJoin(*1: Range(0), *2: Range(1), false, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:Range(7), false, "match", "left", "right")
CrossJoin(x : Range(0), y : Range(7), false, "match", "left", "right") : s*
Binder : (7, 7) CrossJoin(*1: Range(0), *2: Range(7), false, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:s, false, "match", "left", "right")
CrossJoin(x : Range(1), y : s, false, "match", "left", "right") : s*
Binder : (1, *) CrossJoin(*1: Range(1), *2: s, false, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:Range(0), false, "match", "left", "right")
CrossJoin(x : Range(1), y : Range(0), false, "match", "left", "right") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(0), false, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:Range(1), false, "match", "left", "right")
CrossJoin(x : Range(1), y : Range(1), false, "match", "left", "right") : s*
Binder : (2, 2) CrossJoin(*1: Range(1), *2: Range(1), false, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:Range(7), false, "match", "left", "right")
CrossJoin(x : Range(1), y : Range(7), false, "match", "left", "right") : s*
Binder : (8, 8) CrossJoin(*1: Range(1), *2: Range(7), false, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:s, false, "match", "left", "right")
CrossJoin(x : Range(10), y : s, false, "match", "left", "right") : s*
Binder : (10, *) CrossJoin(*1: Range(10), *2: s, false, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:Range(0), false, "match", "left", "right")
CrossJoin(x : Range(10), y : Range(0), false, "match", "left", "right") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(0), false, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:Range(1), false, "match", "left", "right")
CrossJoin(x : Range(10), y : Range(1), false, "match", "left", "right") : s*
Binder : (11, 11) CrossJoin(*1: Range(10), *2: Range(1), false, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:Range(7), false, "match", "left", "right")
CrossJoin(x : Range(10), y : Range(7), false, "match", "left", "right") : s*
Binder : (17, 17) CrossJoin(*1: Range(10), *2: Range(7), false, "match", "left", "right")
###
> CrossJoin(x:s, y:s, true, "match")
CrossJoin(x : s, y : s, true, "match") : s*
Binder : (0, *) CrossJoin(*1: s, *2: s, true, "match")
###
> CrossJoin(x:s, y:Range(0), true, "match")
CrossJoin(x : s, y : Range(0), true, "match") : s*
Binder : (0, 0) CrossJoin(*1: s, *2: Range(0), true, "match")
###
> CrossJoin(x:s, y:Range(1), true, "match")
CrossJoin(x : s, y : Range(1), true, "match") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(1), true, "match")
###
> CrossJoin(x:s, y:Range(7), true, "match")
CrossJoin(x : s, y : Range(7), true, "match") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(7), true, "match")
###
> CrossJoin(x:Range(0), y:s, true, "match")
CrossJoin(x : Range(0), y : s, true, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: s, true, "match")
###
> CrossJoin(x:Range(0), y:Range(0), true, "match")
CrossJoin(x : Range(0), y : Range(0), true, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(0), true, "match")
###
> CrossJoin(x:Range(0), y:Range(1), true, "match")
CrossJoin(x : Range(0), y : Range(1), true, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(1), true, "match")
###
> CrossJoin(x:Range(0), y:Range(7), true, "match")
CrossJoin(x : Range(0), y : Range(7), true, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(7), true, "match")
###
> CrossJoin(x:Range(1), y:s, true, "match")
CrossJoin(x : Range(1), y : s, true, "match") : s*
Binder : (0, *) CrossJoin(*1: Range(1), *2: s, true, "match")
###
> CrossJoin(x:Range(1), y:Range(0), true, "match")
CrossJoin(x : Range(1), y : Range(0), true, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(1), *2: Range(0), true, "match")
###
> CrossJoin(x:Range(1), y:Range(1), true, "match")
CrossJoin(x : Range(1), y : Range(1), true, "match") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(1), true, "match")
###
> CrossJoin(x:Range(1), y:Range(7), true, "match")
CrossJoin(x : Range(1), y : Range(7), true, "match") : s*
Binder : (7, 7) CrossJoin(*1: Range(1), *2: Range(7), true, "match")
###
> CrossJoin(x:Range(10), y:s, true, "match")
CrossJoin(x : Range(10), y : s, true, "match") : s*
Binder : (0, *) CrossJoin(*1: Range(10), *2: s, true, "match")
###
> CrossJoin(x:Range(10), y:Range(0), true, "match")
CrossJoin(x : Range(10), y : Range(0), true, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(10), *2: Range(0), true, "match")
###
> CrossJoin(x:Range(10), y:Range(1), true, "match")
CrossJoin(x : Range(10), y : Range(1), true, "match") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(1), true, "match")
###
> CrossJoin(x:Range(10), y:Range(7), true, "match")
CrossJoin(x : Range(10), y : Range(7), true, "match") : s*
Binder : (70, 70) CrossJoin(*1: Range(10), *2: Range(7), true, "match")
###
> CrossJoin(x:s, y:s, true, "match", "left")
CrossJoin(x : s, y : s, true, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: s, true, "match", "left")
###
> CrossJoin(x:s, y:Range(0), true, "match", "left")
CrossJoin(x : s, y : Range(0), true, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(0), true, "match", "left")
###
> CrossJoin(x:s, y:Range(1), true, "match", "left")
CrossJoin(x : s, y : Range(1), true, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(1), true, "match", "left")
###
> CrossJoin(x:s, y:Range(7), true, "match", "left")
CrossJoin(x : s, y : Range(7), true, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(7), true, "match", "left")
###
> CrossJoin(x:Range(0), y:s, true, "match", "left")
CrossJoin(x : Range(0), y : s, true, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: s, true, "match", "left")
###
> CrossJoin(x:Range(0), y:Range(0), true, "match", "left")
CrossJoin(x : Range(0), y : Range(0), true, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(0), true, "match", "left")
###
> CrossJoin(x:Range(0), y:Range(1), true, "match", "left")
CrossJoin(x : Range(0), y : Range(1), true, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(1), true, "match", "left")
###
> CrossJoin(x:Range(0), y:Range(7), true, "match", "left")
CrossJoin(x : Range(0), y : Range(7), true, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(7), true, "match", "left")
###
> CrossJoin(x:Range(1), y:s, true, "match", "left")
CrossJoin(x : Range(1), y : s, true, "match", "left") : s*
Binder : (1, *) CrossJoin(*1: Range(1), *2: s, true, "match", "left")
###
> CrossJoin(x:Range(1), y:Range(0), true, "match", "left")
CrossJoin(x : Range(1), y : Range(0), true, "match", "left") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(0), true, "match", "left")
###
> CrossJoin(x:Range(1), y:Range(1), true, "match", "left")
CrossJoin(x : Range(1), y : Range(1), true, "match", "left") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(1), true, "match", "left")
###
> CrossJoin(x:Range(1), y:Range(7), true, "match", "left")
CrossJoin(x : Range(1), y : Range(7), true, "match", "left") : s*
Binder : (7, 7) CrossJoin(*1: Range(1), *2: Range(7), true, "match", "left")
###
> CrossJoin(x:Range(10), y:s, true, "match", "left")
CrossJoin(x : Range(10), y : s, true, "match", "left") : s*
Binder : (10, *) CrossJoin(*1: Range(10), *2: s, true, "match", "left")
###
> CrossJoin(x:Range(10), y:Range(0), true, "match", "left")
CrossJoin(x : Range(10), y : Range(0), true, "match", "left") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(0), true, "match", "left")
###
> CrossJoin(x:Range(10), y:Range(1), true, "match", "left")
CrossJoin(x : Range(10), y : Range(1), true, "match", "left") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(1), true, "match", "left")
###
> CrossJoin(x:Range(10), y:Range(7), true, "match", "left")
CrossJoin(x : Range(10), y : Range(7), true, "match", "left") : s*
Binder : (70, 70) CrossJoin(*1: Range(10), *2: Range(7), true, "match", "left")
###
> CrossJoin(x:s, y:s, true, "match", "left", "right")
CrossJoin(x : s, y : s, true, "match", "left", "right") : s*
Binder : (0, *) CrossJoin(*1: s, *2: s, true, "match", "left", "right")
###
> CrossJoin(x:s, y:Range(0), true, "match", "left", "right")
CrossJoin(x : s, y : Range(0), true, "match", "left", "right") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(0), true, "match", "left", "right")
###
> CrossJoin(x:s, y:Range(1), true, "match", "left", "right")
CrossJoin(x : s, y : Range(1), true, "match", "left", "right") : s*
Binder : (1, *) CrossJoin(*1: s, *2: Range(1), true, "match", "left", "right")
###
> CrossJoin(x:s, y:Range(7), true, "match", "left", "right")
CrossJoin(x : s, y : Range(7), true, "match", "left", "right") : s*
Binder : (7, *) CrossJoin(*1: s, *2: Range(7), true, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:s, true, "match", "left", "right")
CrossJoin(x : Range(0), y : s, true, "match", "left", "right") : s*
Binder : (0, *) CrossJoin(*1: Range(0), *2: s, true, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:Range(0), true, "match", "left", "right")
CrossJoin(x : Range(0), y : Range(0), true, "match", "left", "right") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(0), true, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:Range(1), true, "match", "left", "right")
CrossJoin(x : Range(0), y : Range(1), true, "match", "left", "right") : s*
Binder : (1, 1) CrossJoin(*1: Range(0), *2: Range(1), true, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:Range(7), true, "match", "left", "right")
CrossJoin(x : Range(0), y : Range(7), true, "match", "left", "right") : s*
Binder : (7, 7) CrossJoin(*1: Range(0), *2: Range(7), true, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:s, true, "match", "left", "right")
CrossJoin(x : Range(1), y : s, true, "match", "left", "right") : s*
Binder : (1, *) CrossJoin(*1: Range(1), *2: s, true, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:Range(0), true, "match", "left", "right")
CrossJoin(x : Range(1), y : Range(0), true, "match", "left", "right") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(0), true, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:Range(1), true, "match", "left", "right")
CrossJoin(x : Range(1), y : Range(1), true, "match", "left", "right") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(1), true, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:Range(7), true, "match", "left", "right")
CrossJoin(x : Range(1), y : Range(7), true, "match", "left", "right") : s*
Binder : (7, 7) CrossJoin(*1: Range(1), *2: Range(7), true, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:s, true, "match", "left", "right")
CrossJoin(x : Range(10), y : s, true, "match", "left", "right") : s*
Binder : (10, *) CrossJoin(*1: Range(10), *2: s, true, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:Range(0), true, "match", "left", "right")
CrossJoin(x : Range(10), y : Range(0), true, "match", "left", "right") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(0), true, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:Range(1), true, "match", "left", "right")
CrossJoin(x : Range(10), y : Range(1), true, "match", "left", "right") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(1), true, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:Range(7), true, "match", "left", "right")
CrossJoin(x : Range(10), y : Range(7), true, "match", "left", "right") : s*
Binder : (70, 70) CrossJoin(*1: Range(10), *2: Range(7), true, "match", "left", "right")
###
> CrossJoin(x:s, y:s, b, "match")
CrossJoin(x : s, y : s, b, "match") : s*
Binder : (0, *) CrossJoin(*1: s, *2: s, b, "match")
###
> CrossJoin(x:s, y:Range(0), b, "match")
CrossJoin(x : s, y : Range(0), b, "match") : s*
Binder : (0, 0) CrossJoin(*1: s, *2: Range(0), b, "match")
###
> CrossJoin(x:s, y:Range(1), b, "match")
CrossJoin(x : s, y : Range(1), b, "match") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(1), b, "match")
###
> CrossJoin(x:s, y:Range(7), b, "match")
CrossJoin(x : s, y : Range(7), b, "match") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(7), b, "match")
###
> CrossJoin(x:Range(0), y:s, b, "match")
CrossJoin(x : Range(0), y : s, b, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: s, b, "match")
###
> CrossJoin(x:Range(0), y:Range(0), b, "match")
CrossJoin(x : Range(0), y : Range(0), b, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(0), b, "match")
###
> CrossJoin(x:Range(0), y:Range(1), b, "match")
CrossJoin(x : Range(0), y : Range(1), b, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(1), b, "match")
###
> CrossJoin(x:Range(0), y:Range(7), b, "match")
CrossJoin(x : Range(0), y : Range(7), b, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(7), b, "match")
###
> CrossJoin(x:Range(1), y:s, b, "match")
CrossJoin(x : Range(1), y : s, b, "match") : s*
Binder : (0, *) CrossJoin(*1: Range(1), *2: s, b, "match")
###
> CrossJoin(x:Range(1), y:Range(0), b, "match")
CrossJoin(x : Range(1), y : Range(0), b, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(1), *2: Range(0), b, "match")
###
> CrossJoin(x:Range(1), y:Range(1), b, "match")
CrossJoin(x : Range(1), y : Range(1), b, "match") : s*
Binder : (0, 1) CrossJoin(*1: Range(1), *2: Range(1), b, "match")
###
> CrossJoin(x:Range(1), y:Range(7), b, "match")
CrossJoin(x : Range(1), y : Range(7), b, "match") : s*
Binder : (0, 7) CrossJoin(*1: Range(1), *2: Range(7), b, "match")
###
> CrossJoin(x:Range(10), y:s, b, "match")
CrossJoin(x : Range(10), y : s, b, "match") : s*
Binder : (0, *) CrossJoin(*1: Range(10), *2: s, b, "match")
###
> CrossJoin(x:Range(10), y:Range(0), b, "match")
CrossJoin(x : Range(10), y : Range(0), b, "match") : s*
Binder : (0, 0) CrossJoin(*1: Range(10), *2: Range(0), b, "match")
###
> CrossJoin(x:Range(10), y:Range(1), b, "match")
CrossJoin(x : Range(10), y : Range(1), b, "match") : s*
Binder : (0, 10) CrossJoin(*1: Range(10), *2: Range(1), b, "match")
###
> CrossJoin(x:Range(10), y:Range(7), b, "match")
CrossJoin(x : Range(10), y : Range(7), b, "match") : s*
Binder : (0, 70) CrossJoin(*1: Range(10), *2: Range(7), b, "match")
###
> CrossJoin(x:s, y:s, b, "match", "left")
CrossJoin(x : s, y : s, b, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: s, b, "match", "left")
###
> CrossJoin(x:s, y:Range(0), b, "match", "left")
CrossJoin(x : s, y : Range(0), b, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(0), b, "match", "left")
###
> CrossJoin(x:s, y:Range(1), b, "match", "left")
CrossJoin(x : s, y : Range(1), b, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(1), b, "match", "left")
###
> CrossJoin(x:s, y:Range(7), b, "match", "left")
CrossJoin(x : s, y : Range(7), b, "match", "left") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(7), b, "match", "left")
###
> CrossJoin(x:Range(0), y:s, b, "match", "left")
CrossJoin(x : Range(0), y : s, b, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: s, b, "match", "left")
###
> CrossJoin(x:Range(0), y:Range(0), b, "match", "left")
CrossJoin(x : Range(0), y : Range(0), b, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(0), b, "match", "left")
###
> CrossJoin(x:Range(0), y:Range(1), b, "match", "left")
CrossJoin(x : Range(0), y : Range(1), b, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(1), b, "match", "left")
###
> CrossJoin(x:Range(0), y:Range(7), b, "match", "left")
CrossJoin(x : Range(0), y : Range(7), b, "match", "left") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(7), b, "match", "left")
###
> CrossJoin(x:Range(1), y:s, b, "match", "left")
CrossJoin(x : Range(1), y : s, b, "match", "left") : s*
Binder : (1, *) CrossJoin(*1: Range(1), *2: s, b, "match", "left")
###
> CrossJoin(x:Range(1), y:Range(0), b, "match", "left")
CrossJoin(x : Range(1), y : Range(0), b, "match", "left") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(0), b, "match", "left")
###
> CrossJoin(x:Range(1), y:Range(1), b, "match", "left")
CrossJoin(x : Range(1), y : Range(1), b, "match", "left") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(1), b, "match", "left")
###
> CrossJoin(x:Range(1), y:Range(7), b, "match", "left")
CrossJoin(x : Range(1), y : Range(7), b, "match", "left") : s*
Binder : (1, 7) CrossJoin(*1: Range(1), *2: Range(7), b, "match", "left")
###
> CrossJoin(x:Range(10), y:s, b, "match", "left")
CrossJoin(x : Range(10), y : s, b, "match", "left") : s*
Binder : (10, *) CrossJoin(*1: Range(10), *2: s, b, "match", "left")
###
> CrossJoin(x:Range(10), y:Range(0), b, "match", "left")
CrossJoin(x : Range(10), y : Range(0), b, "match", "left") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(0), b, "match", "left")
###
> CrossJoin(x:Range(10), y:Range(1), b, "match", "left")
CrossJoin(x : Range(10), y : Range(1), b, "match", "left") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(1), b, "match", "left")
###
> CrossJoin(x:Range(10), y:Range(7), b, "match", "left")
CrossJoin(x : Range(10), y : Range(7), b, "match", "left") : s*
Binder : (10, 70) CrossJoin(*1: Range(10), *2: Range(7), b, "match", "left")
###
> CrossJoin(x:s, y:s, b, "match", "left", "right")
CrossJoin(x : s, y : s, b, "match", "left", "right") : s*
Binder : (0, *) CrossJoin(*1: s, *2: s, b, "match", "left", "right")
###
> CrossJoin(x:s, y:Range(0), b, "match", "left", "right")
CrossJoin(x : s, y : Range(0), b, "match", "left", "right") : s*
Binder : (0, *) CrossJoin(*1: s, *2: Range(0), b, "match", "left", "right")
###
> CrossJoin(x:s, y:Range(1), b, "match", "left", "right")
CrossJoin(x : s, y : Range(1), b, "match", "left", "right") : s*
Binder : (1, *) CrossJoin(*1: s, *2: Range(1), b, "match", "left", "right")
###
> CrossJoin(x:s, y:Range(7), b, "match", "left", "right")
CrossJoin(x : s, y : Range(7), b, "match", "left", "right") : s*
Binder : (7, *) CrossJoin(*1: s, *2: Range(7), b, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:s, b, "match", "left", "right")
CrossJoin(x : Range(0), y : s, b, "match", "left", "right") : s*
Binder : (0, *) CrossJoin(*1: Range(0), *2: s, b, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:Range(0), b, "match", "left", "right")
CrossJoin(x : Range(0), y : Range(0), b, "match", "left", "right") : s*
Binder : (0, 0) CrossJoin(*1: Range(0), *2: Range(0), b, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:Range(1), b, "match", "left", "right")
CrossJoin(x : Range(0), y : Range(1), b, "match", "left", "right") : s*
Binder : (1, 1) CrossJoin(*1: Range(0), *2: Range(1), b, "match", "left", "right")
###
> CrossJoin(x:Range(0), y:Range(7), b, "match", "left", "right")
CrossJoin(x : Range(0), y : Range(7), b, "match", "left", "right") : s*
Binder : (7, 7) CrossJoin(*1: Range(0), *2: Range(7), b, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:s, b, "match", "left", "right")
CrossJoin(x : Range(1), y : s, b, "match", "left", "right") : s*
Binder : (1, *) CrossJoin(*1: Range(1), *2: s, b, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:Range(0), b, "match", "left", "right")
CrossJoin(x : Range(1), y : Range(0), b, "match", "left", "right") : s*
Binder : (1, 1) CrossJoin(*1: Range(1), *2: Range(0), b, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:Range(1), b, "match", "left", "right")
CrossJoin(x : Range(1), y : Range(1), b, "match", "left", "right") : s*
Binder : (1, 2) CrossJoin(*1: Range(1), *2: Range(1), b, "match", "left", "right")
###
> CrossJoin(x:Range(1), y:Range(7), b, "match", "left", "right")
CrossJoin(x : Range(1), y : Range(7), b, "match", "left", "right") : s*
Binder : (7, 8) CrossJoin(*1: Range(1), *2: Range(7), b, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:s, b, "match", "left", "right")
CrossJoin(x : Range(10), y : s, b, "match", "left", "right") : s*
Binder : (10, *) CrossJoin(*1: Range(10), *2: s, b, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:Range(0), b, "match", "left", "right")
CrossJoin(x : Range(10), y : Range(0), b, "match", "left", "right") : s*
Binder : (10, 10) CrossJoin(*1: Range(10), *2: Range(0), b, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:Range(1), b, "match", "left", "right")
CrossJoin(x : Range(10), y : Range(1), b, "match", "left", "right") : s*
Binder : (10, 11) CrossJoin(*1: Range(10), *2: Range(1), b, "match", "left", "right")
###
> CrossJoin(x:Range(10), y:Range(7), b, "match", "left", "right")
CrossJoin(x : Range(10), y : Range(7), b, "match", "left", "right") : s*
Binder : (17, 70) CrossJoin(*1: Range(10), *2: Range(7), b, "match", "left", "right")
###
> KeyJoin(x:s, y:s, k, k, "match")
KeyJoin(x : s, y : s, k, k, "match") : s*
Binder : (0, *) KeyJoin(*1: s, *2: s, k, k, "match")
###
> KeyJoin(x:s, y:Range(0), k, k, "match")
KeyJoin(x : s, y : Range(0), k, k, "match") : s*
Binder : (0, 0) KeyJoin(*1: s, *2: Range(0), k, k, "match")
###
> KeyJoin(x:s, y:Range(1), k, k, "match")
KeyJoin(x : s, y : Range(1), k, k, "match") : s*
Binder : (0, *) KeyJoin(*1: s, *2: Range(1), k, k, "match")
###
> KeyJoin(x:s, y:Range(7), k, k, "match")
KeyJoin(x : s, y : Range(7), k, k, "match") : s*
Binder : (0, *) KeyJoin(*1: s, *2: Range(7), k, k, "match")
###
> KeyJoin(x:Range(0), y:s, k, k, "match")
KeyJoin(x : Range(0), y : s, k, k, "match") : s*
Binder : (0, 0) KeyJoin(*1: Range(0), *2: s, k, k, "match")
###
> KeyJoin(x:Range(0), y:Range(0), k, k, "match")
KeyJoin(x : Range(0), y : Range(0), k, k, "match") : s*
Binder : (0, 0) KeyJoin(*1: Range(0), *2: Range(0), k, k, "match")
###
> KeyJoin(x:Range(0), y:Range(1), k, k, "match")
KeyJoin(x : Range(0), y : Range(1), k, k, "match") : s*
Binder : (0, 0) KeyJoin(*1: Range(0), *2: Range(1), k, k, "match")
###
> KeyJoin(x:Range(0), y:Range(7), k, k, "match")
KeyJoin(x : Range(0), y : Range(7), k, k, "match") : s*
Binder : (0, 0) KeyJoin(*1: Range(0), *2: Range(7), k, k, "match")
###
> KeyJoin(x:Range(1), y:s, k, k, "match")
KeyJoin(x : Range(1), y : s, k, k, "match") : s*
Binder : (0, *) KeyJoin(*1: Range(1), *2: s, k, k, "match")
###
> KeyJoin(x:Range(1), y:Range(0), k, k, "match")
KeyJoin(x : Range(1), y : Range(0), k, k, "match") : s*
Binder : (0, 0) KeyJoin(*1: Range(1), *2: Range(0), k, k, "match")
###
> KeyJoin(x:Range(1), y:Range(1), k, k, "match")
KeyJoin(x : Range(1), y : Range(1), k, k, "match") : s*
Binder : (0, 1) KeyJoin(*1: Range(1), *2: Range(1), k, k, "match")
###
> KeyJoin(x:Range(1), y:Range(7), k, k, "match")
KeyJoin(x : Range(1), y : Range(7), k, k, "match") : s*
Binder : (0, 7) KeyJoin(*1: Range(1), *2: Range(7), k, k, "match")
###
> KeyJoin(x:Range(10), y:s, k, k, "match")
KeyJoin(x : Range(10), y : s, k, k, "match") : s*
Binder : (0, *) KeyJoin(*1: Range(10), *2: s, k, k, "match")
###
> KeyJoin(x:Range(10), y:Range(0), k, k, "match")
KeyJoin(x : Range(10), y : Range(0), k, k, "match") : s*
Binder : (0, 0) KeyJoin(*1: Range(10), *2: Range(0), k, k, "match")
###
> KeyJoin(x:Range(10), y:Range(1), k, k, "match")
KeyJoin(x : Range(10), y : Range(1), k, k, "match") : s*
Binder : (0, 10) KeyJoin(*1: Range(10), *2: Range(1), k, k, "match")
###
> KeyJoin(x:Range(10), y:Range(7), k, k, "match")
KeyJoin(x : Range(10), y : Range(7), k, k, "match") : s*
Binder : (0, 70) KeyJoin(*1: Range(10), *2: Range(7), k, k, "match")
###
> KeyJoin(x:s, y:s, k, k, "match", "left")
KeyJoin(x : s, y : s, k, k, "match", "left") : s*
Binder : (0, *) KeyJoin(*1: s, *2: s, k, k, "match", "left")
###
> KeyJoin(x:s, y:Range(0), k, k, "match", "left")
KeyJoin(x : s, y : Range(0), k, k, "match", "left") : s*
Binder : (0, *) KeyJoin(*1: s, *2: Range(0), k, k, "match", "left")
###
> KeyJoin(x:s, y:Range(1), k, k, "match", "left")
KeyJoin(x : s, y : Range(1), k, k, "match", "left") : s*
Binder : (0, *) KeyJoin(*1: s, *2: Range(1), k, k, "match", "left")
###
> KeyJoin(x:s, y:Range(7), k, k, "match", "left")
KeyJoin(x : s, y : Range(7), k, k, "match", "left") : s*
Binder : (0, *) KeyJoin(*1: s, *2: Range(7), k, k, "match", "left")
###
> KeyJoin(x:Range(0), y:s, k, k, "match", "left")
KeyJoin(x : Range(0), y : s, k, k, "match", "left") : s*
Binder : (0, 0) KeyJoin(*1: Range(0), *2: s, k, k, "match", "left")
###
> KeyJoin(x:Range(0), y:Range(0), k, k, "match", "left")
KeyJoin(x : Range(0), y : Range(0), k, k, "match", "left") : s*
Binder : (0, 0) KeyJoin(*1: Range(0), *2: Range(0), k, k, "match", "left")
###
> KeyJoin(x:Range(0), y:Range(1), k, k, "match", "left")
KeyJoin(x : Range(0), y : Range(1), k, k, "match", "left") : s*
Binder : (0, 0) KeyJoin(*1: Range(0), *2: Range(1), k, k, "match", "left")
###
> KeyJoin(x:Range(0), y:Range(7), k, k, "match", "left")
KeyJoin(x : Range(0), y : Range(7), k, k, "match", "left") : s*
Binder : (0, 0) KeyJoin(*1: Range(0), *2: Range(7), k, k, "match", "left")
###
> KeyJoin(x:Range(1), y:s, k, k, "match", "left")
KeyJoin(x : Range(1), y : s, k, k, "match", "left") : s*
Binder : (1, *) KeyJoin(*1: Range(1), *2: s, k, k, "match", "left")
###
> KeyJoin(x:Range(1), y:Range(0), k, k, "match", "left")
KeyJoin(x : Range(1), y : Range(0), k, k, "match", "left") : s*
Binder : (1, 1) KeyJoin(*1: Range(1), *2: Range(0), k, k, "match", "left")
###
> KeyJoin(x:Range(1), y:Range(1), k, k, "match", "left")
KeyJoin(x : Range(1), y : Range(1), k, k, "match", "left") : s*
Binder : (1, 1) KeyJoin(*1: Range(1), *2: Range(1), k, k, "match", "left")
###
> KeyJoin(x:Range(1), y:Range(7), k, k, "match", "left")
KeyJoin(x : Range(1), y : Range(7), k, k, "match", "left") : s*
Binder : (1, 7) KeyJoin(*1: Range(1), *2: Range(7), k, k, "match", "left")
###
> KeyJoin(x:Range(10), y:s, k, k, "match", "left")
KeyJoin(x : Range(10), y : s, k, k, "match", "left") : s*
Binder : (10, *) KeyJoin(*1: Range(10), *2: s, k, k, "match", "left")
###
> KeyJoin(x:Range(10), y:Range(0), k, k, "match", "left")
KeyJoin(x : Range(10), y : Range(0), k, k, "match", "left") : s*
Binder : (10, 10) KeyJoin(*1: Range(10), *2: Range(0), k, k, "match", "left")
###
> KeyJoin(x:Range(10), y:Range(1), k, k, "match", "left")
KeyJoin(x : Range(10), y : Range(1), k, k, "match", "left") : s*
Binder : (10, 10) KeyJoin(*1: Range(10), *2: Range(1), k, k, "match", "left")
###
> KeyJoin(x:Range(10), y:Range(7), k, k, "match", "left")
KeyJoin(x : Range(10), y : Range(7), k, k, "match", "left") : s*
Binder : (10, 70) KeyJoin(*1: Range(10), *2: Range(7), k, k, "match", "left")
###
> KeyJoin(x:s, y:s, k, k, "match", "left", "right")
KeyJoin(x : s, y : s, k, k, "match", "left", "right") : s*
Binder : (0, *) KeyJoin(*1: s, *2: s, k, k, "match", "left", "right")
###
> KeyJoin(x:s, y:Range(0), k, k, "match", "left", "right")
KeyJoin(x : s, y : Range(0), k, k, "match", "left", "right") : s*
Binder : (0, *) KeyJoin(*1: s, *2: Range(0), k, k, "match", "left", "right")
###
> KeyJoin(x:s, y:Range(1), k, k, "match", "left", "right")
KeyJoin(x : s, y : Range(1), k, k, "match", "left", "right") : s*
Binder : (1, *) KeyJoin(*1: s, *2: Range(1), k, k, "match", "left", "right")
###
> KeyJoin(x:s, y:Range(7), k, k, "match", "left", "right")
KeyJoin(x : s, y : Range(7), k, k, "match", "left", "right") : s*
Binder : (7, *) KeyJoin(*1: s, *2: Range(7), k, k, "match", "left", "right")
###
> KeyJoin(x:Range(0), y:s, k, k, "match", "left", "right")
KeyJoin(x : Range(0), y : s, k, k, "match", "left", "right") : s*
Binder : (0, *) KeyJoin(*1: Range(0), *2: s, k, k, "match", "left", "right")
###
> KeyJoin(x:Range(0), y:Range(0), k, k, "match", "left", "right")
KeyJoin(x : Range(0), y : Range(0), k, k, "match", "left", "right") : s*
Binder : (0, 0) KeyJoin(*1: Range(0), *2: Range(0), k, k, "match", "left", "right")
###
> KeyJoin(x:Range(0), y:Range(1), k, k, "match", "left", "right")
KeyJoin(x : Range(0), y : Range(1), k, k, "match", "left", "right") : s*
Binder : (1, 1) KeyJoin(*1: Range(0), *2: Range(1), k, k, "match", "left", "right")
###
> KeyJoin(x:Range(0), y:Range(7), k, k, "match", "left", "right")
KeyJoin(x : Range(0), y : Range(7), k, k, "match", "left", "right") : s*
Binder : (7, 7) KeyJoin(*1: Range(0), *2: Range(7), k, k, "match", "left", "right")
###
> KeyJoin(x:Range(1), y:s, k, k, "match", "left", "right")
KeyJoin(x : Range(1), y : s, k, k, "match", "left", "right") : s*
Binder : (1, *) KeyJoin(*1: Range(1), *2: s, k, k, "match", "left", "right")
###
> KeyJoin(x:Range(1), y:Range(0), k, k, "match", "left", "right")
KeyJoin(x : Range(1), y : Range(0), k, k, "match", "left", "right") : s*
Binder : (1, 1) KeyJoin(*1: Range(1), *2: Range(0), k, k, "match", "left", "right")
###
> KeyJoin(x:Range(1), y:Range(1), k, k, "match", "left", "right")
KeyJoin(x : Range(1), y : Range(1), k, k, "match", "left", "right") : s*
Binder : (1, 2) KeyJoin(*1: Range(1), *2: Range(1), k, k, "match", "left", "right")
###
> KeyJoin(x:Range(1), y:Range(7), k, k, "match", "left", "right")
KeyJoin(x : Range(1), y : Range(7), k, k, "match", "left", "right") : s*
Binder : (7, 8) KeyJoin(*1: Range(1), *2: Range(7), k, k, "match", "left", "right")
###
> KeyJoin(x:Range(10), y:s, k, k, "match", "left", "right")
KeyJoin(x : Range(10), y : s, k, k, "match", "left", "right") : s*
Binder : (10, *) KeyJoin(*1: Range(10), *2: s, k, k, "match", "left", "right")
###
> KeyJoin(x:Range(10), y:Range(0), k, k, "match", "left", "right")
KeyJoin(x : Range(10), y : Range(0), k, k, "match", "left", "right") : s*
Binder : (10, 10) KeyJoin(*1: Range(10), *2: Range(0), k, k, "match", "left", "right")
###
> KeyJoin(x:Range(10), y:Range(1), k, k, "match", "left", "right")
KeyJoin(x : Range(10), y : Range(1), k, k, "match", "left", "right") : s*
Binder : (10, 11) KeyJoin(*1: Range(10), *2: Range(1), k, k, "match", "left", "right")
###
> KeyJoin(x:Range(10), y:Range(7), k, k, "match", "left", "right")
KeyJoin(x : Range(10), y : Range(7), k, k, "match", "left", "right") : s*
Binder : (17, 70) KeyJoin(*1: Range(10), *2: Range(7), k, k, "match", "left", "right")
###
