@dabeaz Thanks for the EuroPython talk. I really enjoyed it.
A comment for 24:31: I think the function f has a type equivalent to
NoneType -> Int not
Void -> Int. However in general there is no function with type
NoneType -> A.
Nonetheless AFAIK the statement "you can create from a Void" is true but the usual argument goes like this:
P1: I can create anything from a Void.
P2: No, you cannot.
P1: Then give me a Void and prove me wrong.
anyio, Curio's approach to async environments has long been problematic to projects like that in some subtle ways (e.g., for example, having
Event.set()be an async method). It was never a goal for Curio to be a "drop-in" replacement layer for asyncio nor am I inclined to compromise its whole fundamental design to make it work in that way. I asked for Curio support to removed from anyio mainly because I don't want it held up as a constant thorn in the side of whatever it is they're trying to do with that.