struct / contracts-operator
This package is abandoned and no longer maintained.
The author suggests using the data-type/contracts-operator package instead.
Simple package for providing contracts for operator overloading