template traceVal(bool useNewline, values...)
static if(!(values.length == 0))
enum traceVal =
"_semitwist_traceVal_writefln(\"%s:" ~ (useNewline ? "\\n" : " ") ~ "%s\", " ~ values[0].stringof ~ ", " ~ unescapeDDQS(values[0].stringof) ~ ");" ~ traceVal!(useNewline, values[1..$]);