Symbolic rewriting, expanding and collecting

  • There is a missing x(::Term, ::Term) method which may create ambiguity.
  • *(x::Symbolic{SU2}, y::Symbolic{SU2}) = Term(*, [x, y]) might be necessary because you are using * in the RHS of your rules. You may consider this or use × even in the rules.