Container cleanups - mostly tons of additions of AssertMember() calls - making sure the rep pointers get maintained to the proper subtypes
slight cleanup of Optional<> code (docs) ; and added non-cost get() overload, since so many other non-cost methods anyhow that effectively do the same thing