sS nicelyFormatJsonDiff(O diff) { new StringBuilderWithIndent buf; nicelyFormatJsonDiff(buf); ret str(buf); } svoid nicelyFormatJsonDiff(O diff, StringBuilderWithIndent buf) { if (diff == null) ret "No differences"; if (diff cast JsonDiff.Removed) ret with buf.println("DELETE " + diff.a); if (diff cast JsonDiff.Added) ret with buf.println("ADD " + diff.a); if (diff cast JsonDiff.Different) // also covers DifferentType ret with buf.println(diff.a + " -> " + diff.b); buf.println(sfu(diff)); // something unknown }