Maintaining polymorphism over ease of writing