{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedLabels #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
-- |
-- Module:      Data.Swagger.Optics
-- Maintainer:  Andrzej Rybczak <andrzej@rybczak.net>
-- Stability:   experimental
--
-- Lenses and prisms for the <https://hackage.haskell.org/package/optics optics>
-- library.
--
-- >>> import Data.Aeson
-- >>> import Optics.Core
-- >>> :set -XOverloadedLabels
--
-- Example from the "Data.Swagger" module using @optics@:
--
-- >>> :{
-- encode $ (mempty :: Swagger)
--   & #definitions .~ [ ("User", mempty & #type ?~ SwaggerString) ]
--   & #paths .~
--     [ ("/user", mempty & #get ?~ (mempty
--         & #produces ?~ MimeList ["application/json"]
--         & at 200 ?~ ("OK" & #_Inline % #schema ?~ Ref (Reference "User"))
--         & at 404 ?~ "User info not found")) ]
-- :}
-- "{\"swagger\":\"2.0\",\"info\":{\"title\":\"\",\"version\":\"\"},\"paths\":{\"/user\":{\"get\":{\"produces\":[\"application/json\"],\"responses\":{\"200\":{\"description\":\"OK\",\"schema\":{\"$ref\":\"#/definitions/User\"}},\"404\":{\"description\":\"User info not found\"}}}}},\"definitions\":{\"User\":{\"type\":\"string\"}}}"
--
-- For convenience optics are defined as /labels/. It means that field accessor
-- names can be overloaded for different types. One such common field is
-- @#description@. Many components of a Swagger specification can have
-- descriptions, and you can use the same name for them:
--
-- >>> encode $ (mempty :: Response) & #description .~ "No content"
-- "{\"description\":\"No content\"}"
-- >>> :{
-- encode $ (mempty :: Schema)
--   & #type        ?~ SwaggerBoolean
--   & #description ?~ "To be or not to be"
-- :}
-- "{\"description\":\"To be or not to be\",\"type\":\"boolean\"}"
--
-- @'ParamSchema'@ is basically the /base schema specification/ and many types
-- contain it. So for convenience, all @'ParamSchema'@ fields are transitively
-- made fields of the type that has it. For example, you can use @#type@ to
-- access @'SwaggerType'@ of @'Header'@ schema without having to use
-- @#paramSchema@:
--
-- >>> encode $ (mempty :: Header) & #type ?~ SwaggerNumber
-- "{\"type\":\"number\"}"
--
-- Additionally, to simplify working with @'Response'@, both @'Operation'@ and
-- @'Responses'@ have direct access to it via @'Optics.Core.At.at'@. Example:
--
-- >>> :{
-- encode $ (mempty :: Operation)
--   & at 404 ?~ "Not found"
-- :}
-- "{\"responses\":{\"404\":{\"description\":\"Not found\"}}}"
--
module Data.Swagger.Optics () where

import Data.Aeson (Value)
import Data.Scientific (Scientific)
import Data.Swagger.Internal
import Data.Text (Text)
import Optics.Core
import Optics.TH

-- Lenses

makeFieldLabels ''Swagger
makeFieldLabels ''Host
makeFieldLabels ''Info
makeFieldLabels ''Contact
makeFieldLabels ''License
makeFieldLabels ''PathItem
makeFieldLabels ''Tag
makeFieldLabels ''Operation
makeFieldLabels ''Param
makeFieldLabels ''ParamOtherSchema
makeFieldLabels ''Header
makeFieldLabels ''Schema
makeFieldLabels ''NamedSchema
makeFieldLabels ''ParamSchema
makeFieldLabels ''Xml
makeFieldLabels ''Responses
makeFieldLabels ''Response
makeFieldLabels ''SecurityScheme
makeFieldLabels ''ApiKeyParams
makeFieldLabels ''OAuth2Params
makeFieldLabels ''ExternalDocs

-- Prisms

makePrismLabels ''ParamAnySchema
makePrismLabels ''SecuritySchemeType
makePrismLabels ''Referenced

-- SwaggerItems prisms

instance
  ( a ~ [Referenced Schema]
  , b ~ [Referenced Schema]
  ) => LabelOptic "_SwaggerItemsArray"
         A_Review
         (SwaggerItems 'SwaggerKindSchema)
         (SwaggerItems 'SwaggerKindSchema)
         a
         b where
  labelOptic :: Optic
  A_Review
  NoIx
  (SwaggerItems 'SwaggerKindSchema)
  (SwaggerItems 'SwaggerKindSchema)
  a
  b
labelOptic = ([Referenced Schema] -> SwaggerItems 'SwaggerKindSchema)
-> Review (SwaggerItems 'SwaggerKindSchema) [Referenced Schema]
forall (b :: OpticKind) (t :: OpticKind). (b -> t) -> Review t b
unto (\[Referenced Schema]
x -> [Referenced Schema] -> SwaggerItems 'SwaggerKindSchema
SwaggerItemsArray [Referenced Schema]
x)
  {-# INLINE labelOptic #-}

instance
  ( a ~ Referenced Schema
  , b ~ Referenced Schema
  ) => LabelOptic "_SwaggerItemsObject"
         A_Review
         (SwaggerItems 'SwaggerKindSchema)
         (SwaggerItems 'SwaggerKindSchema)
         a
         b where
  labelOptic :: Optic
  A_Review
  NoIx
  (SwaggerItems 'SwaggerKindSchema)
  (SwaggerItems 'SwaggerKindSchema)
  a
  b
labelOptic = (Referenced Schema -> SwaggerItems 'SwaggerKindSchema)
-> Review (SwaggerItems 'SwaggerKindSchema) (Referenced Schema)
forall (b :: OpticKind) (t :: OpticKind). (b -> t) -> Review t b
unto (\Referenced Schema
x -> Referenced Schema -> SwaggerItems 'SwaggerKindSchema
SwaggerItemsObject Referenced Schema
x)
  {-# INLINE labelOptic #-}

instance
  ( a ~ (Maybe (CollectionFormat t), ParamSchema t)
  , b ~ (Maybe (CollectionFormat t), ParamSchema t)
  ) => LabelOptic "_SwaggerItemsPrimitive"
         A_Review
         (SwaggerItems t)
         (SwaggerItems t)
         a
         b where
  labelOptic :: Optic A_Review NoIx (SwaggerItems t) (SwaggerItems t) a b
labelOptic = ((Maybe (CollectionFormat t), ParamSchema t) -> SwaggerItems t)
-> Review
     (SwaggerItems t) (Maybe (CollectionFormat t), ParamSchema t)
forall (b :: OpticKind) (t :: OpticKind). (b -> t) -> Review t b
unto (\(Maybe (CollectionFormat t)
c, ParamSchema t
p) -> Maybe (CollectionFormat t) -> ParamSchema t -> SwaggerItems t
forall (k :: SwaggerKind OpticKind).
Maybe (CollectionFormat k) -> ParamSchema k -> SwaggerItems k
SwaggerItemsPrimitive Maybe (CollectionFormat t)
c ParamSchema t
p)
  {-# INLINE labelOptic #-}

-- =============================================================
-- More helpful instances for easier access to schema properties

type instance Index Responses = HttpStatusCode
type instance Index Operation = HttpStatusCode

type instance IxValue Responses = Referenced Response
type instance IxValue Operation = Referenced Response

instance Ixed Responses where
  ix :: Index Responses
-> Optic' (IxKind Responses) NoIx Responses (IxValue Responses)
ix Index Responses
n = IsLabel
  "responses"
  (Optic
     A_Lens
     NoIx
     Responses
     Responses
     (InsOrdHashMap HttpStatusCode (Referenced Response))
     (InsOrdHashMap HttpStatusCode (Referenced Response)))
Optic
  A_Lens
  NoIx
  Responses
  Responses
  (InsOrdHashMap HttpStatusCode (Referenced Response))
  (InsOrdHashMap HttpStatusCode (Referenced Response))
#responses Optic
  A_Lens
  NoIx
  Responses
  Responses
  (InsOrdHashMap HttpStatusCode (Referenced Response))
  (InsOrdHashMap HttpStatusCode (Referenced Response))
-> Optic
     An_AffineTraversal
     NoIx
     (InsOrdHashMap HttpStatusCode (Referenced Response))
     (InsOrdHashMap HttpStatusCode (Referenced Response))
     (Referenced Response)
     (Referenced Response)
-> Optic
     An_AffineTraversal
     NoIx
     Responses
     Responses
     (Referenced Response)
     (Referenced Response)
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Index (InsOrdHashMap HttpStatusCode (Referenced Response))
-> Optic'
     (IxKind (InsOrdHashMap HttpStatusCode (Referenced Response)))
     NoIx
     (InsOrdHashMap HttpStatusCode (Referenced Response))
     (IxValue (InsOrdHashMap HttpStatusCode (Referenced Response)))
forall (m :: OpticKind).
Ixed m =>
Index m -> Optic' (IxKind m) NoIx m (IxValue m)
ix Index (InsOrdHashMap HttpStatusCode (Referenced Response))
Index Responses
n
  {-# INLINE ix #-}
instance At   Responses where
  at :: Index Responses -> Lens' Responses (Maybe (IxValue Responses))
at Index Responses
n = IsLabel
  "responses"
  (Optic
     A_Lens
     NoIx
     Responses
     Responses
     (InsOrdHashMap HttpStatusCode (Referenced Response))
     (InsOrdHashMap HttpStatusCode (Referenced Response)))
Optic
  A_Lens
  NoIx
  Responses
  Responses
  (InsOrdHashMap HttpStatusCode (Referenced Response))
  (InsOrdHashMap HttpStatusCode (Referenced Response))
#responses Optic
  A_Lens
  NoIx
  Responses
  Responses
  (InsOrdHashMap HttpStatusCode (Referenced Response))
  (InsOrdHashMap HttpStatusCode (Referenced Response))
-> Optic
     A_Lens
     NoIx
     (InsOrdHashMap HttpStatusCode (Referenced Response))
     (InsOrdHashMap HttpStatusCode (Referenced Response))
     (Maybe (Referenced Response))
     (Maybe (Referenced Response))
-> Optic
     A_Lens
     NoIx
     Responses
     Responses
     (Maybe (Referenced Response))
     (Maybe (Referenced Response))
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Index (InsOrdHashMap HttpStatusCode (Referenced Response))
-> Lens'
     (InsOrdHashMap HttpStatusCode (Referenced Response))
     (Maybe
        (IxValue (InsOrdHashMap HttpStatusCode (Referenced Response))))
forall (m :: OpticKind).
At m =>
Index m -> Lens' m (Maybe (IxValue m))
at Index (InsOrdHashMap HttpStatusCode (Referenced Response))
Index Responses
n
  {-# INLINE at #-}

instance Ixed Operation where
  ix :: Index Operation
-> Optic' (IxKind Operation) NoIx Operation (IxValue Operation)
ix Index Operation
n = IsLabel
  "responses"
  (Optic A_Lens NoIx Operation Operation Responses Responses)
Optic A_Lens NoIx Operation Operation Responses Responses
#responses Optic A_Lens NoIx Operation Operation Responses Responses
-> Optic
     An_AffineTraversal
     NoIx
     Responses
     Responses
     (Referenced Response)
     (Referenced Response)
-> Optic
     An_AffineTraversal
     NoIx
     Operation
     Operation
     (Referenced Response)
     (Referenced Response)
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Index Responses
-> Optic' (IxKind Responses) NoIx Responses (IxValue Responses)
forall (m :: OpticKind).
Ixed m =>
Index m -> Optic' (IxKind m) NoIx m (IxValue m)
ix Index Responses
Index Operation
n
  {-# INLINE ix #-}
instance At   Operation where
  at :: Index Operation -> Lens' Operation (Maybe (IxValue Operation))
at Index Operation
n = IsLabel
  "responses"
  (Optic A_Lens NoIx Operation Operation Responses Responses)
Optic A_Lens NoIx Operation Operation Responses Responses
#responses Optic A_Lens NoIx Operation Operation Responses Responses
-> Optic
     A_Lens
     NoIx
     Responses
     Responses
     (Maybe (Referenced Response))
     (Maybe (Referenced Response))
-> Optic
     A_Lens
     NoIx
     Operation
     Operation
     (Maybe (Referenced Response))
     (Maybe (Referenced Response))
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Index Responses -> Lens' Responses (Maybe (IxValue Responses))
forall (m :: OpticKind).
At m =>
Index m -> Lens' m (Maybe (IxValue m))
at Index Responses
Index Operation
n
  {-# INLINE at #-}

-- #paramSchema

instance
  ( a ~ ParamSchema 'SwaggerKindSchema
  , b ~ ParamSchema 'SwaggerKindSchema
  ) => LabelOptic "paramSchema" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "schema" (Optic A_Lens NoIx NamedSchema NamedSchema Schema Schema)
Optic A_Lens NoIx NamedSchema NamedSchema Schema Schema
#schema Optic A_Lens NoIx NamedSchema NamedSchema Schema Schema
-> Optic A_Lens NoIx Schema Schema a b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel "paramSchema" (Optic A_Lens NoIx Schema Schema a b)
Optic A_Lens NoIx Schema Schema a b
#paramSchema
  {-# INLINE labelOptic #-}

-- #type

instance
  ( a ~ Maybe (SwaggerType ('SwaggerKindNormal Header))
  , b ~ Maybe (SwaggerType ('SwaggerKindNormal Header))
  ) => LabelOptic "type" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "type"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#type
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe (SwaggerType 'SwaggerKindSchema)
  , b ~ Maybe (SwaggerType 'SwaggerKindSchema)
  ) => LabelOptic "type" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "type"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#type
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe (SwaggerType 'SwaggerKindSchema)
  , b ~ Maybe (SwaggerType 'SwaggerKindSchema)
  ) => LabelOptic "type" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "type"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#type
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe (SwaggerType 'SwaggerKindParamOtherSchema)
  , b ~ Maybe (SwaggerType 'SwaggerKindParamOtherSchema)
  ) => LabelOptic "type" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "type"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#type
  {-# INLINE labelOptic #-}

-- #default

instance
  ( a ~ Maybe Value, b ~ Maybe Value
  ) => LabelOptic "default" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "default"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#default
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Value, b ~ Maybe Value
  ) => LabelOptic "default" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "default"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#default
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Value, b ~ Maybe Value
  ) => LabelOptic "default" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "default"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#default
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Value, b ~ Maybe Value
  ) => LabelOptic "default" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "default"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#default
  {-# INLINE labelOptic #-}

-- #format

instance
  ( a ~ Maybe Format, b ~ Maybe Format
  ) => LabelOptic "format" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "format"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#format
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Format, b ~ Maybe Format
  ) => LabelOptic "format" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "format"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#format
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Format, b ~ Maybe Format
  ) => LabelOptic "format" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "format"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#format
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Format, b ~ Maybe Format
  ) => LabelOptic "format" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "format"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#format
  {-# INLINE labelOptic #-}

-- #items

instance
  ( a ~ Maybe (SwaggerItems ('SwaggerKindNormal Header))
  , b ~ Maybe (SwaggerItems ('SwaggerKindNormal Header))
  ) => LabelOptic "items" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "items"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#items
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe (SwaggerItems 'SwaggerKindSchema)
  , b ~ Maybe (SwaggerItems 'SwaggerKindSchema)
  ) => LabelOptic "items" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "items"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#items
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe (SwaggerItems 'SwaggerKindSchema)
  , b ~ Maybe (SwaggerItems 'SwaggerKindSchema)
  ) => LabelOptic "items" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "items"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#items
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe (SwaggerItems 'SwaggerKindParamOtherSchema)
  , b ~ Maybe (SwaggerItems 'SwaggerKindParamOtherSchema)
  ) => LabelOptic "items" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "items"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#items
  {-# INLINE labelOptic #-}

-- #maximum

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "maximum" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maximum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#maximum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "maximum" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maximum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#maximum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "maximum" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maximum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#maximum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "maximum" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maximum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#maximum
  {-# INLINE labelOptic #-}

-- #exclusiveMaximum

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "exclusiveMaximum" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "exclusiveMaximum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#exclusiveMaximum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "exclusiveMaximum" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "exclusiveMaximum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#exclusiveMaximum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "exclusiveMaximum" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "exclusiveMaximum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#exclusiveMaximum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "exclusiveMaximum" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "exclusiveMaximum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#exclusiveMaximum
  {-# INLINE labelOptic #-}

-- #minimum

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "minimum" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minimum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#minimum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "minimum" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minimum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#minimum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "minimum" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minimum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#minimum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "minimum" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minimum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#minimum
  {-# INLINE labelOptic #-}

-- #exclusiveMinimum

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "exclusiveMinimum" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "exclusiveMinimum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#exclusiveMinimum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "exclusiveMinimum" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "exclusiveMinimum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#exclusiveMinimum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "exclusiveMinimum" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "exclusiveMinimum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#exclusiveMinimum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "exclusiveMinimum" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "exclusiveMinimum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#exclusiveMinimum
  {-# INLINE labelOptic #-}

-- #maxLength

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "maxLength" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maxLength"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#maxLength
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "maxLength" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maxLength"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#maxLength
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "maxLength" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maxLength"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#maxLength
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "maxLength" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maxLength"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#maxLength
  {-# INLINE labelOptic #-}

-- #minLength

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "minLength" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minLength"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#minLength
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "minLength" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minLength"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#minLength
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "minLength" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minLength"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#minLength
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "minLength" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minLength"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#minLength
  {-# INLINE labelOptic #-}

-- #pattern

instance
  ( a ~ Maybe Text, b ~ Maybe Text
  ) => LabelOptic "pattern" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "pattern"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#pattern
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Text, b ~ Maybe Text
  ) => LabelOptic "pattern" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "pattern"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#pattern
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Text, b ~ Maybe Text
  ) => LabelOptic "pattern" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "pattern"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#pattern
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Text, b ~ Maybe Text
  ) => LabelOptic "pattern" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "pattern"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#pattern
  {-# INLINE labelOptic #-}

-- #maxItems

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "maxItems" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maxItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#maxItems
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "maxItems" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maxItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#maxItems
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "maxItems" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maxItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#maxItems
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "maxItems" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "maxItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#maxItems
  {-# INLINE labelOptic #-}

-- #minItems

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "minItems" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#minItems
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "minItems" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#minItems
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "minItems" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#minItems
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Integer, b ~ Maybe Integer
  ) => LabelOptic "minItems" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "minItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#minItems
  {-# INLINE labelOptic #-}

-- #uniqueItems

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "uniqueItems" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "uniqueItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#uniqueItems
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "uniqueItems" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "uniqueItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#uniqueItems
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "uniqueItems" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "uniqueItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#uniqueItems
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Bool, b ~ Maybe Bool
  ) => LabelOptic "uniqueItems" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "uniqueItems"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#uniqueItems
  {-# INLINE labelOptic #-}

-- #enum

instance
  ( a ~ Maybe [Value], b ~ Maybe [Value]
  ) => LabelOptic "enum" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "enum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#enum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe [Value], b ~ Maybe [Value]
  ) => LabelOptic "enum" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "enum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#enum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe [Value], b ~ Maybe [Value]
  ) => LabelOptic "enum" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "enum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#enum
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe [Value], b ~ Maybe [Value]
  ) => LabelOptic "enum" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "enum"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#enum
  {-# INLINE labelOptic #-}

-- #multipleOf

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "multipleOf" A_Lens Header Header a b where
  labelOptic :: Optic A_Lens NoIx Header Header a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Header
     Header
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header)))
Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
#paramSchema Optic
  A_Lens
  NoIx
  Header
  Header
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
-> Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b
-> Optic A_Lens NoIx Header Header a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "multipleOf"
  (Optic
     A_Lens
     NoIx
     (ParamSchema ('SwaggerKindNormal Header))
     (ParamSchema ('SwaggerKindNormal Header))
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema ('SwaggerKindNormal Header))
  (ParamSchema ('SwaggerKindNormal Header))
  a
  b
#multipleOf
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "multipleOf" A_Lens Schema Schema a b where
  labelOptic :: Optic A_Lens NoIx Schema Schema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     Schema
     Schema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  Schema
  Schema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx Schema Schema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "multipleOf"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#multipleOf
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "multipleOf" A_Lens NamedSchema NamedSchema a b where
  labelOptic :: Optic A_Lens NoIx NamedSchema NamedSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     NamedSchema
     NamedSchema
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema))
Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
#paramSchema Optic
  A_Lens
  NoIx
  NamedSchema
  NamedSchema
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b
-> Optic A_Lens NoIx NamedSchema NamedSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "multipleOf"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindSchema)
     (ParamSchema 'SwaggerKindSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindSchema)
  (ParamSchema 'SwaggerKindSchema)
  a
  b
#multipleOf
  {-# INLINE labelOptic #-}

instance
  ( a ~ Maybe Scientific, b ~ Maybe Scientific
  ) => LabelOptic "multipleOf" A_Lens ParamOtherSchema ParamOtherSchema a b where
  labelOptic :: Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
labelOptic = IsLabel
  "paramSchema"
  (Optic
     A_Lens
     NoIx
     ParamOtherSchema
     ParamOtherSchema
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema))
Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
#paramSchema Optic
  A_Lens
  NoIx
  ParamOtherSchema
  ParamOtherSchema
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
-> Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b
-> Optic A_Lens NoIx ParamOtherSchema ParamOtherSchema a b
forall (k :: OpticKind) (l :: OpticKind) (m :: OpticKind)
       (is :: IxList) (js :: IxList) (ks :: IxList) (s :: OpticKind)
       (t :: OpticKind) (u :: OpticKind) (v :: OpticKind) (a :: OpticKind)
       (b :: OpticKind).
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% IsLabel
  "multipleOf"
  (Optic
     A_Lens
     NoIx
     (ParamSchema 'SwaggerKindParamOtherSchema)
     (ParamSchema 'SwaggerKindParamOtherSchema)
     a
     b)
Optic
  A_Lens
  NoIx
  (ParamSchema 'SwaggerKindParamOtherSchema)
  (ParamSchema 'SwaggerKindParamOtherSchema)
  a
  b
#multipleOf
  {-# INLINE labelOptic #-}