haskell@gentoo.org Gentoo Haskell invariant nfrisby/invariant-functors