ported observers, relational, and swap tests... std::list should be done