{-# LANGUAGE NoMonomorphismRestriction #-}

-- | Wrapper module for lens functionality

module Lens
  ( module Data.Lens.Light
  , module Lens
  ) where

import Data.Lens.Light

over :: Lens a b -> (b -> b) -> a -> a
over = forall a b. Lens a b -> (b -> b) -> a -> a
modL
set :: Lens a b -> b -> a -> a
set  = forall a b. Lens a b -> b -> a -> a
setL
use :: Lens a b -> m b
use  = forall a (m :: * -> *) b. MonadState a m => Lens a b -> m b
access
_2 :: Lens (a, b) b
_2   = forall a b. (a -> b) -> (b -> a -> a) -> Lens a b
lens forall a b. (a, b) -> b
snd forall a b. (a -> b) -> a -> b
$ \ b
y (a
x, b
_) -> (a
x, b
y)