We probably want to take advantage of our DSL to build an intermediate representation which is easier to serialize.