Introduce `SingletonMS` class for multiset singletons. Closes #100, #98, and #87 See merge request !251