Added Optional_DefaultTraits::Equals () ; used that to make Optional<>::Equals() more efficient; and otehr changes (overloads) to amke it sometimes more efficient; and redid operator overload for compares for Optional<> so should work more Left/Right symetically (using non-member functions instead of member-functions)