TESTING DISCRIMINATED UNIONS 3 functors in this type 2 - two/0 1 - three/0 0 - one/0 3 functors in this type 2 - two/0 1 - three/0 0 - one/0 3 functors in this type 2 - two/0 1 - three/0 0 - one/0 2 functors in this type 1 - banana/1 0 - apple/1 2 functors in this type 1 - banana/1 0 - apple/1 11 functors in this type 10 - zop/2 9 - zoom/1 8 - zip/2 7 - zap/2 6 - wombat/0 5 - qux/1 4 - quux/1 3 - quuux/2 2 - foo/0 1 - bar/2 0 - bar/1 11 functors in this type 10 - zop/2 9 - zoom/1 8 - zip/2 7 - zap/2 6 - wombat/0 5 - qux/1 4 - quux/1 3 - quuux/2 2 - foo/0 1 - bar/2 0 - bar/1 11 functors in this type 10 - zop/2 9 - zoom/1 8 - zip/2 7 - zap/2 6 - wombat/0 5 - qux/1 4 - quux/1 3 - quuux/2 2 - foo/0 1 - bar/2 0 - bar/1 11 functors in this type 10 - zop/2 9 - zoom/1 8 - zip/2 7 - zap/2 6 - wombat/0 5 - qux/1 4 - quux/1 3 - quuux/2 2 - foo/0 1 - bar/2 0 - bar/1 11 functors in this type 10 - zop/2 9 - zoom/1 8 - zip/2 7 - zap/2 6 - wombat/0 5 - qux/1 4 - quux/1 3 - quuux/2 2 - foo/0 1 - bar/2 0 - bar/1 TESTING POLYMORPHISM 4 functors in this type 3 - poly_two/1 2 - poly_three/3 1 - poly_one/1 0 - poly_four/2 4 functors in this type 3 - poly_two/1 2 - poly_three/3 1 - poly_one/1 0 - poly_four/2 4 functors in this type 3 - poly_two/1 2 - poly_three/3 1 - poly_one/1 0 - poly_four/2 TESTING BUILTINS -1 functors in this type -1 functors in this type -1 functors in this type -1 functors in this type -1 functors in this type -1 functors in this type -1 functors in this type -1 functors in this type -1 functors in this type -1 functors in this type -1 functors in this type -1 functors in this type 1 functors in this type 0 - {}/4 TESTING OTHER TYPES 1 functors in this type 0 - var/1 1 functors in this type 0 - var_supply/1 1 functors in this type 0 - var_supply/1 4 functors in this type 3 - two/4 2 - three/7 1 - four/10 0 - empty/0 1 functors in this type 0 - qwerty/1 About to construct three/0 Constructed: three About to construct apple/1 Constructed: apple([1, 2, 3]) About to construct banana/1 Constructed: banana([one, two, three]) About to construct foo/0 Constructed: foo About to construct bar/1 Constructed: bar(1) About to construct bar/2 Constructed: bar(1, 1) About to construct qux/1 Constructed: qux(1) About to construct quux/1 Constructed: quux(1) About to construct quuux/2 Constructed: quuux(1, 1) About to construct wombat/0 Constructed: wombat About to construct zoom/1 Constructed: zoom(1) About to construct zap/2 Constructed: zap(1, 2.10000000000000) About to construct zip/2 Constructed: zip(1, 1) About to construct zop/2 Constructed: zop(2.10000000000000, 2.10000000000000) About to construct qwerty/1 Constructed: qwerty(1) About to construct poly_one/1 Constructed: poly_one(1) About to construct poly_two/1 Constructed: poly_two("goodbye") About to construct poly_four/2 Constructed: poly_four(1, "goodbye") About to construct {}/3 Constructed: {4, "five", '6'} About to call construct_tuple Constructed tuple: univ_cons({[1, 2, 3], [one, two, three], 1, 2.10000000000000})