A DSL for constructing json-like data sturctures