Now as close to compile time as possible, that should explode a bit
like this:

Attempt to override final method Foo-&gt;frobnicate in subclass Bar, line 666

The idea came to me in a spell of the-horse-has-bolted thinking. Just
a few days before while doing some Class::DBI stuff I declared a
method called get. As some of you might know, Class::DBI
depends on many many things, and inherits from a bunch of those, one
of which is Class::Accessor. Class::Accessor holds get in
special regard, and so when I accidentally overrode it all the magic
came flying out of the sides without me noticing.

Of course for that I probably want something more like virtual
methods, only less invasise. I picture a scheme whereby you could
declare the methods you'd advise caution in overriding, and then when
overriding you'd have a way to declare that you were paying the
correct amount of attention, a little like this: