| LambdaBody -- ^ The expression is the body of a
-- lambda abstraction
| Other -- ^ Another context
+ deriving (Eq, Show)
-- | Transforms a CoreExpr and keeps track if it has changed.
type Transform = [CoreContext] -> CoreSyn.CoreExpr -> TransformMonad CoreSyn.CoreExpr