non-function handler arguments are returned as they are when their pattern matches
lint fixes; outer function arguments matching removed (arguments.callee.caller deprecated)
merge branch improvements_breaking_compat