úÎ á S    (C) 2011-2014 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett <ekmett@gmail.com> provisional5rank2 types, type operators, (optional) type families Trustworthy'=>HJKMkLeibnizian equality states that two things are equal if you can substite one for the other in all contextsEquality is reflexive8If two things are equal you can convert one to the otherEquality is transitiveEquality is symmetric/You can lift equality into any type constructor... in any position Equality forms a category             eq-4.0.4 Data.Eq.Type:=Reflsubstreflcoercetranssymmliftlift2lift2'lift3lift3' $fCategoryk:=Lift3unlift3Lift2unlift2LiftunliftSymmunsymmCoerceuncoerce $fGroupoidk:=$fSemigroupoidk:=