minor nit:
it will not even reach the yield expression because it
fails to resolve g:
>>> import dis
>>> f = lambda: g((yield))
>>> dis.dis(f)
1 0 LOAD_GLOBAL 0 (g)
3 LOAD_CONST 0 (None)
6 YIELD_VALUE
7 CALL_FUNCTION 1
10 RETURN_VALUE
>>>