The subdirectory src/poly might become a separate library since it provides features that are not really specific to Combinat, but might be of interest in a more general context. It implements sparse polynomials (lists of pairs of coefficient and term) where the term can come from any totally ordered (multiplicative) monoid. Univariate polynomials serve as a model to implement commutative power products of countably many variables via the isomorphism
Since primality testing does not work in the Algebra library, we implement our own version.