module Data.Enumerable.FunctionEquality where import Data.Enumerable import Control.Applicative instance (FinitelyEnumerable a, Eq b) => Eq (a -> b) where f == g = all (liftA2 (==) f g) enumerate f /= g = any (liftA2 (/=) f g) enumerate