- introducing a TypeRegistry struct to simplify how we add to a registry