Works.  Functionally complete.  But bugs : (Just "message") escapes
quotes.  Needs finer-grained handling of field types.  And much cleanup.