Simple (60 line) XML and JSON writing combinators