{-# LANGUAGE NoMonomorphismRestriction #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE UndecidableInstances #-} module HListExtras where import Data.HList.CommonMain data FApply = FApply instance (ApplyAB f a b, ab ~ (a -> b)) => ApplyAB FApply f ab where applyAB _ = applyAB