casa-reoc-0.1.0.0: src/ReOC/Name/StepIndex.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -Wall #-}
-- | The name @stepIndex@, which targets @Natural@. It names a field or constructor of @Step@.
module ReOC.Name.StepIndex (
StepIndexLike (..),
) where
import Control.Lens (Optic)
import Numeric.Natural (Natural)
class StepIndexLike p f x x' where
stepIndex ::
Optic p f x x' Natural Natural
-- | Identity
instance (x' ~ Natural) => StepIndexLike p f Natural x' where
stepIndex = id