Having eliminated the "annotation type" parameter from most of the types in Hydra Core, we have only a couple of remaining polymorphic types in the core: Annotated and Nominal. Both should be replaced with non-polymorphic equivalents (after all, they are only applied to two types: Type and Term). This will make it more straightforward to carry Hydra Core into non-polymorphic languages like JSON and Protobuf.
Having eliminated the "annotation type" parameter from most of the types in Hydra Core, we have only a couple of remaining polymorphic types in the core: Annotated and Nominal. Both should be replaced with non-polymorphic equivalents (after all, they are only applied to two types: Type and Term). This will make it more straightforward to carry Hydra Core into non-polymorphic languages like JSON and Protobuf.