Check the order and monoid laws.
Refactored the OrInstances.
Added traverse laws check.