Given the JsObject for the sealed family, disambiguate and
extract the JsObject associated to the Name implementation
(if available) or otherwise return None.
Given the JsObject for the contained product type of Name,
encode disambiguation information for later retrieval.
Override to provide custom field naming.
Override to provide custom field naming. Caching is recommended for performance.