Rough edges

available on nightly [stabilization][rust-lang/rust#96709]

[rust-lang/rust#96709]: https://github.com/rust-lang/rust/pull/96709 seeking feedback

The current MVP state includes a number of known rough edges, explained here.

EdgeBrief explanation
Clumsy HRTB syntaxThe syntax for<'a> T: Iterable<Item<'a> = ...> is clumsy
Required boundsCompiler requires you to write where Self: 'me a lot
No implied bounds on HRTBThe for<'a> syntax should really mean "for any suitable 'a" to avoid false errors
HRTB limited to lifetimesYou cannot write for<T> or for<const C> to talk about types, lifetimes
Polonius interactionSome GAT patterns require polonius to pass the borrow checker
Not dyn safeTraits with GATs are not dyn safe, even if those GATs are limited to lifetimes