Type class used to determine equality.
Represents structural equality between trees
Represents structural equality between trees
Two trees are structurally equal if their .show[Structure] is equal. This implementation is however more efficient that doing a.structure == b.structure.
Represents syntactic equality between trees Two trees are syntactically equal if their .show[Syntax] is equal.
Helper type used to help typechecker default to structural equality.
Type class used to determine equality.
For examples, see Structurally or Syntactically.
Inspired by cats.Eq and scalaz.Equal.