High Order Function with Type Parameter

@keean is correct that Rust doesn't allow subsumption.

Playground URL: Rust Playground
Gist URL: Shared via Rust Playground · GitHub

But other popular languages ostensibly do, so afaics there are two remaining issues to sort out:

  1. Do the other languages which offer subsumption (for references to mutable instances) exhibit the unsafety I have alleged?

  2. What composability and extension does Rust lose by not allowing any subtyping? How will we express the various use cases? Must we employ OOHaskell idioms to get the functionality we need for use cases?