toSubstitution
Creates a Substitution out of an Iterable of Equations, each assigning a Var to a Term (see Equation.toAssignmentPair). Returns Substitution.failed if two equations disagree on the same Var's binding.
Throws
if any Equation in this Iterable is not an Equation.Assignment (has no Var on either side)