{-# OPTIONS -cpp -fglasgow-exts #-} 
module Poly where

import AltData.Typeable

data Fn = Fn {fn :: forall t. Eq t => t -> t -> Bool}

--
-- ignore type inside the Fn... is this correct?
--
instance Typeable Fn where
#if __GLASGOW_HASKELL__ >= 603
    typeOf _ = mkTyConApp (mkTyCon "Poly.Fn") []
#else
    typeOf _ = mkAppTy (mkTyCon "Poly.Fn") []
#endif