================== Simple Match ================== match 1 { 3 => 'foo' 2 => 'bar' 1 => 42 } --- (root (item (statement (match (expression (value (integer))) (expression (value (integer))) (item (statement (expression (value (string))))) (expression (value (integer))) (item (statement (expression (value (string))))) (expression (value (integer))) (item (statement (expression (value (integer))))))))) ================== Nested Matches ================== match 1 { 3 => match true { true => match (random_integer) { 0 => 42 9 => 'foo' } false => 0 } 2 => 'bar' 1 => 42 } --- (root (item (statement (match (expression (value (integer))) (expression (value (integer))) (item (statement (match (expression (value (boolean))) (expression (value (boolean))) (item (statement (match (expression (tool)) (expression (value (integer))) (item (statement (expression (value (integer))))) (expression (value (integer))) (item (statement (expression (value (string)))))))) (expression (value (boolean))) (item (statement (expression (value (integer)))))))) (expression (value (integer))) (item (statement (expression (value (string))))) (expression (value (integer))) (item (statement (expression (value (integer)))))))))