Class-C3 is a speed bottleneck in some uses, most notably DBIx::Class.
Reimplementing the expensive part of the algorithm leads to a notable
speed improvement. 
