High Order Function with Type Parameter

I will verify that shortly with a compiled code example.

If you are correct that subsumption is not possible in Rust (which may be true because I read some where that the only subtyping supported is for lifetimes), then can you explain why my example is erroneous for Java, Scala, and C++? Are you claiming they do not allow subsumed assignment?

I wasn't implicating Haskell. I know it doesn't have intersection inheritance subtyping, which is obvious since it puts Bottom at the top of the hierarchy thus it has Filinski sums but not products (or maybe it is vice versa, I forget the terminology at the moment).

Edit: and afaics if Rust doesn't have subsumption subtyping that is going to cause a cascade of issues with composability. But those are details we will have to sort out, as I think we are by analyzing use cases and how to code them in Rust. If I am not mistaken, you seem to be implying that we can model the necessary composability using concepts from OOHaskell.