Add typed/json which exports almost all of json

Does not include support for custom nulls, but is otherwise entirely
functional.