./form_test int 1
./form_test short 2
./form_test long 3
./form_test float 4.0
./form_test double 5.2
./form_test 4 01234567
./form_test "{ char, int }" "{ a, 1 }"
./form_test "{ float, int }" "{ 5.0, 6 }"
./form_test "{ char, int, 5 }" "{ a, 1, 0123456789 }"
./form_test "{ char, int, 5, double }" "{ a, 1, 0123456789, 2.0 }"
./form_test "{ char, int, double, 5 }" "{ a, 1, 2.0, 0123456789}"
./form_test "{ int, < char : 1 > }" "{ 2, < a, b > }"
./form_test "{ < int : 3>, char, int }" "{< 1, 2, 3 >, a, 3 }"
./form_test "{ int, < { char, int } : 1 > }" "{ 2, < { a, 1 }, { b, 2 } > }"
./form_test "{ < { int, < { 3, int } : 1> } : 3 >, char, int }" "{ < { 1, <{abcdef, 4} > }, { 2, < { 012345, 6}, { 6789ab, 5 } > } >, a, 2 }"
./form_test "[ { char, int } : 2 ]", "[ { a, 1 }, {b, 2}]"
./form_test "[ char : 3 ]" "[ a, b, c ]"
./form_test "[ 3 : 2 ]" "[ 012345, 6789ab ]"
./form_test "[ string : 3 ]" "[ hello, foo, world]"
./form_test "[ { int, < { char, string } : 1 > } : 2 ]" "[ { 3, < {a,hello}, {b,foo}, {c,world} > }, { 1, < {x,biker} > } ] "
./form_test "*int" "*3"
./form_test "*{int, char}" "*{3, a}"
./form_test "{ int, *! }" "{ 3, *{ 4, *{ 5, *{ 6, *{ 7, NULL } } } } }"
./form_test "(vector int)" "(1, 2, 3, 4)"
./form_test "(vector int)" "()"
./form_test "{(vector int), int}" "{(), 3}"
./form_test "{(vector int), string}" "{(1, 2, 3, 4), "Hello"}"
./form_test "{ char, (vector int ), short} " "{ a, (1, 2, 3, 4), 5} "
./form_test "(vector { char, int })" "( { a, 1 }, { b, 2 }, { c, 3 } )"
./form_test "(vector { char, int, string })" "( { a, 1, "OK" }, { b, 2, "Bert" }, { c, 3, "Ernie" } )"
./form_test "(vector { lineSeg, vec3f } )" "( { { { 300, -600, 100 }, { -300, -600, 100 } }, {0,-1,0} }, { { { -300, 600, 100 }, { 300, 600, 100 } }, {0,1,0} } )"
./form_test "{(vector { lineSeg, vec3f } ), (vector int) }" "{ ( { { { 300, -600, 100 }, { -300, -600, 100 } }, {0,-1,0} }, { { { -300, 600, 100 }, { 300, 600, 100 } }, {0,1,0} } ), (1, 2, 3, 4, 5) }"

