I've got an ADT with a whole lot of members, some recursive, some not. Now that the code is evolving, I've got some members which are possible at some stages of the program, and some others at other stages. What's the best way to model this? Use multiple inheritance to tag them for the specific stages?