{-# LANGUAGE ScopedTypeVariables #-}

module Managed.Probe
  ( params
  , returns
  ) where

import Data.Managed (Probe(..), typeRep)
import Data.Typeable (TypeRep)
import qualified Managed.Probe.Internal.Params as P

params :: Probe e -> [TypeRep]
params :: Probe e -> [TypeRep]
params = TypeRep -> [TypeRep]
P.params (TypeRep -> [TypeRep])
-> (Probe e -> TypeRep) -> Probe e -> [TypeRep]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Probe e -> TypeRep
forall e. Probe e -> TypeRep
typeRep

returns :: Probe e -> TypeRep
returns :: Probe e -> TypeRep
returns = TypeRep -> TypeRep
P.returns (TypeRep -> TypeRep) -> (Probe e -> TypeRep) -> Probe e -> TypeRep
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Probe e -> TypeRep
forall e. Probe e -> TypeRep
typeRep