Requires module:adt module:generics.Show module:generics.Eq module:generics.Ord Classes Either Free Id IO List Maybe Pair State Task