“If it ain’t broke don’t fix it”

I don’t believe it’s wise to add another iteration to working code just for the sake of aesthetics.

There will come a point where you will have to write a fourth implementation and at that point you really should be considering abstraction and reuse of your three earlier known good implementations.