module Imp.Extra.Located where

import qualified GHC.Plugins as Plugin

overValue :: (Functor f) => (a -> f b) -> Plugin.Located a -> f (Plugin.Located b)
overValue :: forall (f :: * -> *) a b.
Functor f =>
(a -> f b) -> Located a -> f (Located b)
overValue a -> f b
f (Plugin.L SrcSpan
l a
e) = SrcSpan -> b -> GenLocated SrcSpan b
forall l e. l -> e -> GenLocated l e
Plugin.L SrcSpan
l (b -> GenLocated SrcSpan b) -> f b -> f (GenLocated SrcSpan b)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> a -> f b
f a
e