polymorphic setter support (#26)