    {-# LANGUAGE Trustworthy #-}
    module Lambdabot.Plugin.Haskell.Eval.Trusted
        ( module Math.OEIS
        , module Test.QuickCheck.Safe
        , module Lambdabot.Plugin.Haskell.Check.ShowQ
        , module Lambdabot.Plugin.Haskell.Eval.Trusted
        ) where

    import Math.OEIS
    import Lambdabot.Plugin.Haskell.Check.ShowQ
    import Test.QuickCheck.Safe

    describeSequence :: SequenceData -> Maybe String
    describeSequence :: SequenceData -> Maybe String
    describeSequence = (OEISSequence -> String) -> Maybe OEISSequence -> Maybe String
    forall a b. (a -> b) -> Maybe a -> Maybe b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap OEISSequence -> String
    description (Maybe OEISSequence -> Maybe String)
    -> (SequenceData -> Maybe OEISSequence)
    -> SequenceData
    -> Maybe String
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . SequenceData -> Maybe OEISSequence
    lookupSequence

    newtype Mu f = In { forall (f :: * -> *). Mu f -> f (Mu f)
    out :: f (Mu f) }

    newtype Rec a = InR { forall a. Rec a -> Rec a -> a
    outR :: Rec a -> a }