Nice survey. Can we do something with “Any" once we are at it? Maybe we use “?”. But that might confuse people and think it’s None mirroring PEP 645’s “type?”.
Please, no more proposals to use "?". :-) There's also PEP 640, and PEP 505. Maybe we should just make Any a builtin (but please start a new thread to debate that).
(It's worth noting that I don't think either the original "Callable[[x,
y], z]" syntax OR the proposed "(x, y) -> z" syntax is particularly
readable when lots of nesting is involved, but I suspect that's just
because the type is just complicated. :) )
You could simplify it by judicious application of type aliases.