When I see prototypes, I hear a little voice in my head, like I was James Woods in
Videodrome:
"Kill them. Kill them all. Kill your prototypes." I even have a script that strips them out. The number of occasions where I've
had to use a prototype is less than a few dozen, and even then, it was mostly bad Laziness. Most of the ones I see are pointless, such as prototypes on object methods.
The whole automatic scalar conversion thing really burns me. Or at least cramps my style. They don't even work properly, either, so at best, they're broken, at worst, dangerous.
Now as for lvalue subroutines...