<i>Reclassification</i> changes the class membership of an object at run-time while retaining its identity. We suggest language features for object reclassification, which extend an imperative, typed, class-based, object-oriented language.We present our proposal through the language <i>Fickle</i><inf>⋄⋄</inf>. The imperative features, combined with the requirement for a static and safe type system, provided the main challenges. We develop a type and effect system for <i>Fickle</i><inf>⋄⋄</inf> and prove its soundness with respect to the operational semantics. In particular, even though objects may be reclassified across classes with different members, there will never be an attempt to access nonexisting members.