That's not actually a limitation of emacs lisp. It's just a design decision.
I know exactly the spot in the code where they could do what you suggest, because I've often wondered why they don't.
elisp gets a bad rap. But it's mostly self-inflicted.
Also http://www.patrickkphillips.com/grammar/is-it-a-bad-rap-or-b...
A “rap sheet” is a criminal record, and a “bum rap” meant a false accusation (or even a false conviction). Even when the charge was valid, it should come as no surprise, a guilty party might claim it was a “bum rap” just to save face.
Had no idea what a bad rap actually meant.