institute a basic DSL for building trees
add some round trip test