packages feed

casa-reoc-0.1.0.0: src/ReOC/Name/InvalidGrossWeight.hs

{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -Wall #-}

-- | The name @invalidGrossWeight@, which targets @Natural@. It names a field or constructor of @InvalidValue@.
module ReOC.Name.InvalidGrossWeight (
  InvalidGrossWeightLike (..),
) where

import Control.Lens (Optic)
import Numeric.Natural (Natural)

class InvalidGrossWeightLike p f x x' where
  invalidGrossWeight ::
    Optic p f x x' Natural Natural

-- | Identity
instance (x' ~ Natural) => InvalidGrossWeightLike p f Natural x' where
  invalidGrossWeight = id