Sigh. Must we? This kind of large-scale dynamic behaviour tends to go wrong even in languages that provide type-checking and sensible lexical scoping. In PHP it's basically just a recipe for the kinds of untouchable "black magic" code that haunt code bases. It's basically some nasty syntax wrapped around even nastier GOTO-style behaviour.<p>"is_callable" is no better, because if you don't know, you shouldn't even be trying it. It might as well be called "does_stick", because you're basically just throwing spaghetti (code) at a wall.