Why waste time reinventing the wheel, when you could be reinventing the engine? Damian Conway