fresnel-0.0.0.0: src/Fresnel/Optional/Internal.hs
module Fresnel.Optional.Internal
( IsOptional
) where
import Control.Arrow (Kleisli)
import Data.Profunctor (Forget, Star)
import Fresnel.Lens.Internal (IsLens)
import Fresnel.Prism.Internal (IsPrism)
import Fresnel.Profunctor.OptionalStar (OptionalStar)
class (IsLens p, IsPrism p) => IsOptional p where
instance IsOptional (->)
instance Monad m => IsOptional (Kleisli m)
instance Monoid r => IsOptional (Forget r)
instance Applicative f => IsOptional (Star f)
instance Functor f => IsOptional (OptionalStar f)