It would be great if there was a way to use the type information from within the code, ie. without type erasure.
Often we find that we create a nice model in TS, only to handle a lot of switching on types in the runtime. This is sometimes a smell but sometimes unavoidable, unless type information can be present in the runtime.