? This works fine in a type system without an explicit bottom type. In Haskell or ML or whatever `emptyList` would be given a polymorphic type, `List a` or `'a list`.
There's issues around doing this with mutable collections (i.e. the value restriction) but that's not what you're referring to...
There's issues around doing this with mutable collections (i.e. the value restriction) but that's not what you're referring to...