Interesting comment you are referencing to. I came into these problems when trying to implement the observer pattern with a similar interface than tc-39 proposal and banged my head against the same "limitations". The important take away I think:
> our intuitions about using closures for this stuff in functional or garbage collected languages don't apply here--patterns that make a lot of sense in them don't work at all in Rust
> our intuitions about using closures for this stuff in functional or garbage collected languages don't apply here--patterns that make a lot of sense in them don't work at all in Rust