This library maps types in the Punchcard Shape type-system to a JSON Schema.
First, create a Record using the Shape type-sytem:
Map the record to a JSON schema document
The type (and value) of the JSON schema is dynamically created and retains all constraint information:
The only data that can not be retained is the
required property since it is not possible to map union types to tuples. The value would have those keys that are not annotated with