    module Data.Universe.Instances.Ord (
    	-- | An 'Ord' instance for functions, given the input is 'Finite' and the
    	-- output is 'Ord'. Compares pointwise, with higher priority to inputs
    	-- that appear earlier in 'universeF'.
    	) where

    import Data.Monoid
    import Data.Universe
    import Data.Universe.Instances.Eq

    instance (Finite a, Ord b) => Ord (a -> b) where
    	f `compare` g = mconcat [f x `compare` g x | x <- universeF]