Data.Commutative
class Commutative a
(<~>)
class CommutativeId a
commuteVia
commuteViaF
data CommEndo a
data OneOf a
pick1