>>32
If your language a special global/non-local syntax, its scoping rules are probably broken. Python has both.
If your language has anonymous function, and its function-definition syntax
function f(args ...) body ... is not an alias for/equivalent to
f = function(args ...) body ..., its anonymous functions are probably broken.
Python promotes consistency
[1], the asymmetry created by its crippled lambdas should be inacceptable.
As a workaround, they usually say ``use a nested
[2] function'', which not only breaks the wonderful variable/function symmetry, but it's also impratical
[3] in lambda-heavy code.
Python super is both complex
[4] and complicated
[5].
Thus, Python is broken both at pratical and philosophical level.
[1] Special cases aren't special enough to break the rules.
[2] Flat is better than nested.
[3] Although practicality beats purity.
[4] Simple is better than complex.
[5] Complex is better than complicated.