Schema-based marshaller in Go