module Data.Managed.Probe where import Data.Data (TypeRep) import Data.Managed.Encoding data Probe e = Probe { Probe e -> [In e] -> IO (Out e) call :: [In e] -> IO (Out e) , Probe e -> TypeRep typeRep :: TypeRep } instance Show (Probe e) where show :: Probe e -> String show Probe e p = String "<Probe> :: " String -> ShowS forall a. [a] -> [a] -> [a] ++ TypeRep -> String forall a. Show a => a -> String show (Probe e -> TypeRep forall e. Probe e -> TypeRep typeRep Probe e p)