guaranteed to be valid until a new object of that type is added or an
object of that type is removed. Thus pointers to Solvable objects are only
valid until another solvable is created, because adding a Solvable may
guaranteed to be valid until a new object of that type is added or an
object of that type is removed. Thus pointers to Solvable objects are only
valid until another solvable is created, because adding a Solvable may