Hi all, Attached is a patch that adds multiset functionality atop GSL 1.13. Multisets are like combinations but with replacement-- a single item may appear multiple times. Element order is insignificant and enumeration uses lexicographical ordering. The patch builds very, very, very heavily on the existing combinations code. Documentation, an example, and unit tests are included. Please consider it for inclusion in the next feature release. - Rhys P.S. One weakness in the patch the amount of code duplication relative to combinations. The underlying data structures are the same, and only the _init_first, _init_last, _valid, _next, and _prev functions differ in a non-trivial way. With some thought to naming, multisets could be a combinations-with-replacement flag. If you accept the patch, please consider adding a TODO to both directories to merge the functionality.