Overview
Final form homogeneous expression is not as obviously readable as the version that came before, but I think this is not such a big problem, since the original type is preserved
I also added a return struct for:
tracking degree during a recursive call
tracking the fact that the given Expression is already homogeneous, in some places we can use this wrapper as a guarantee (e.g. add it to GroupedPoly).
Motivation Look at https://github.com/snarkify/sirius/issues/159#issuecomment-2038794079
Overview Final form homogeneous expression is not as obviously readable as the version that came before, but I think this is not such a big problem, since the original type is preserved
I also added a return struct for:
Expression
is already homogeneous, in some places we can use this wrapper as a guarantee (e.g. add it toGroupedPoly
).