Currently we have the CorElementType enum including the internal types in the RuntimeTypeSystem contract abstraction. We would like to see how much of the internal types need to be exposed outside of the contract, and how best to do this which ties into the larger story of how to associate enums with contracts and keep them up-to-date with the runtime.