proton-0.0.1: src/Data/Profunctor/Remember.hs
module Data.Profunctor.Remember where import Data.Profunctor newtype Remember r a b = Remember (r -> b) deriving Functor instance Profunctor (Remember r) where dimap _ g (Remember x) = Remember (g . x) instance Choice (Remember r) where left' (Remember x) = Remember (Left . x) instance Closed (Remember r) where closed (Remember x) = Remember (\r _ -> x r) instance Costrong (Remember r) where unfirst (Remember x) = Remember (fst . x)