expansions: do we really need commutativity?
Our implementation of expansions for &
and \
rely on some identities such as s&kt => k(s&t)
which do not work for noncommutative semirings.
But do we really need that in the implementation? Should it be something left to the identities? Hence, they would be able to depend on the commutativity of the semiring