module Data.Profunctor.Optic.Operator (
    re
  , invert
  , view
  , review
  , preview
  , over
  , under
  , set
  , reset
  , is
  , matches
  , (&)
  , (%)
  , (#)
  , (^.)
  , (^%)
  , (#^)
  , (^?)
  , (^..)
  , (^%%)
  , (.~)
  , (%~)
  , (..~)
  , (%%~)
  , (/~)
  , (#~)
  , (//~)
  , (##~)
  , (?~)
  , (<>~)
  , (><~)
  , module Extra
) where

import Data.Function
import Data.Profunctor.Optic.Type
import Data.Profunctor.Optic.Iso
import Data.Profunctor.Optic.View
import Data.Profunctor.Optic.Index
import Data.Profunctor.Optic.Setter
import Data.Profunctor.Optic.Fold
import Data.Profunctor.Optic.Fold0
import Data.Profunctor.Optic.Traversal
import Data.Profunctor.Optic.Traversal0
import Data.Profunctor.Extra as Extra