Of course the compiler should not crash, but other than that I think there is no issue at all.
Generic (non-concrete types) exist only as a compile time abstraction. Each value that exists at runtime actually has a concrete type. You cannot put anything which does not have a concrete type inside a container, because it is not a value. It is something that simply does not exist at runtime