{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE OverloadedLists #-}

module DomainDriven.Internal.NamedFields
    ( NF1 (..)
    , NF2 (..)
    , NF3 (..)
    , NF4 (..)
    , NF5 (..)
    , NF6 (..)
    , NF7 (..)
    , NF8 (..)
    , NF9 (..)
    )
where

import Data.Aeson
import qualified Data.Aeson.Key as Key
import qualified Data.Aeson.KeyMap as KM
import Data.OpenApi
import Data.Proxy
import qualified Data.Text as T
import GHC.Generics (Generic)
import GHC.TypeLits
import Prelude

data NF1 (name :: Symbol) (f1 :: Symbol) ty = NF1 ty
    deriving (Int -> NF1 name f1 ty -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (name :: Symbol) (f1 :: Symbol) ty.
Show ty =>
Int -> NF1 name f1 ty -> ShowS
forall (name :: Symbol) (f1 :: Symbol) ty.
Show ty =>
[NF1 name f1 ty] -> ShowS
forall (name :: Symbol) (f1 :: Symbol) ty.
Show ty =>
NF1 name f1 ty -> String
showList :: [NF1 name f1 ty] -> ShowS
$cshowList :: forall (name :: Symbol) (f1 :: Symbol) ty.
Show ty =>
[NF1 name f1 ty] -> ShowS
show :: NF1 name f1 ty -> String
$cshow :: forall (name :: Symbol) (f1 :: Symbol) ty.
Show ty =>
NF1 name f1 ty -> String
showsPrec :: Int -> NF1 name f1 ty -> ShowS
$cshowsPrec :: forall (name :: Symbol) (f1 :: Symbol) ty.
Show ty =>
Int -> NF1 name f1 ty -> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (name :: Symbol) (f1 :: Symbol) ty x.
Rep (NF1 name f1 ty) x -> NF1 name f1 ty
forall (name :: Symbol) (f1 :: Symbol) ty x.
NF1 name f1 ty -> Rep (NF1 name f1 ty) x
$cto :: forall (name :: Symbol) (f1 :: Symbol) ty x.
Rep (NF1 name f1 ty) x -> NF1 name f1 ty
$cfrom :: forall (name :: Symbol) (f1 :: Symbol) ty x.
NF1 name f1 ty -> Rep (NF1 name f1 ty) x
Generic)

data NF2 (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 = NF2 a1 a2
    deriving (Int -> NF2 name f1 a1 f2 a2 -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2.
(Show a1, Show a2) =>
Int -> NF2 name f1 a1 f2 a2 -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2.
(Show a1, Show a2) =>
[NF2 name f1 a1 f2 a2] -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2.
(Show a1, Show a2) =>
NF2 name f1 a1 f2 a2 -> String
showList :: [NF2 name f1 a1 f2 a2] -> ShowS
$cshowList :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2.
(Show a1, Show a2) =>
[NF2 name f1 a1 f2 a2] -> ShowS
show :: NF2 name f1 a1 f2 a2 -> String
$cshow :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2.
(Show a1, Show a2) =>
NF2 name f1 a1 f2 a2 -> String
showsPrec :: Int -> NF2 name f1 a1 f2 a2 -> ShowS
$cshowsPrec :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2.
(Show a1, Show a2) =>
Int -> NF2 name f1 a1 f2 a2 -> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 x.
Rep (NF2 name f1 a1 f2 a2) x -> NF2 name f1 a1 f2 a2
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 x.
NF2 name f1 a1 f2 a2 -> Rep (NF2 name f1 a1 f2 a2) x
$cto :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 x.
Rep (NF2 name f1 a1 f2 a2) x -> NF2 name f1 a1 f2 a2
$cfrom :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 x.
NF2 name f1 a1 f2 a2 -> Rep (NF2 name f1 a1 f2 a2) x
Generic)

data NF3 (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 (f3 :: Symbol) a3 = NF3 a1 a2 a3
    deriving (Int -> NF3 name f1 a1 f2 a2 f3 a3 -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3.
(Show a1, Show a2, Show a3) =>
Int -> NF3 name f1 a1 f2 a2 f3 a3 -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3.
(Show a1, Show a2, Show a3) =>
[NF3 name f1 a1 f2 a2 f3 a3] -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3.
(Show a1, Show a2, Show a3) =>
NF3 name f1 a1 f2 a2 f3 a3 -> String
showList :: [NF3 name f1 a1 f2 a2 f3 a3] -> ShowS
$cshowList :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3.
(Show a1, Show a2, Show a3) =>
[NF3 name f1 a1 f2 a2 f3 a3] -> ShowS
show :: NF3 name f1 a1 f2 a2 f3 a3 -> String
$cshow :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3.
(Show a1, Show a2, Show a3) =>
NF3 name f1 a1 f2 a2 f3 a3 -> String
showsPrec :: Int -> NF3 name f1 a1 f2 a2 f3 a3 -> ShowS
$cshowsPrec :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3.
(Show a1, Show a2, Show a3) =>
Int -> NF3 name f1 a1 f2 a2 f3 a3 -> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 x.
Rep (NF3 name f1 a1 f2 a2 f3 a3) x -> NF3 name f1 a1 f2 a2 f3 a3
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 x.
NF3 name f1 a1 f2 a2 f3 a3 -> Rep (NF3 name f1 a1 f2 a2 f3 a3) x
$cto :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 x.
Rep (NF3 name f1 a1 f2 a2 f3 a3) x -> NF3 name f1 a1 f2 a2 f3 a3
$cfrom :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 x.
NF3 name f1 a1 f2 a2 f3 a3 -> Rep (NF3 name f1 a1 f2 a2 f3 a3) x
Generic)

data NF4 (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 (f3 :: Symbol) a3 (f4 :: Symbol) a4 = NF4 a1 a2 a3 a4
    deriving (Int -> NF4 name f1 a1 f2 a2 f3 a3 f4 a4 -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4.
(Show a1, Show a2, Show a3, Show a4) =>
Int -> NF4 name f1 a1 f2 a2 f3 a3 f4 a4 -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4.
(Show a1, Show a2, Show a3, Show a4) =>
[NF4 name f1 a1 f2 a2 f3 a3 f4 a4] -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4.
(Show a1, Show a2, Show a3, Show a4) =>
NF4 name f1 a1 f2 a2 f3 a3 f4 a4 -> String
showList :: [NF4 name f1 a1 f2 a2 f3 a3 f4 a4] -> ShowS
$cshowList :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4.
(Show a1, Show a2, Show a3, Show a4) =>
[NF4 name f1 a1 f2 a2 f3 a3 f4 a4] -> ShowS
show :: NF4 name f1 a1 f2 a2 f3 a3 f4 a4 -> String
$cshow :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4.
(Show a1, Show a2, Show a3, Show a4) =>
NF4 name f1 a1 f2 a2 f3 a3 f4 a4 -> String
showsPrec :: Int -> NF4 name f1 a1 f2 a2 f3 a3 f4 a4 -> ShowS
$cshowsPrec :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4.
(Show a1, Show a2, Show a3, Show a4) =>
Int -> NF4 name f1 a1 f2 a2 f3 a3 f4 a4 -> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 x.
Rep (NF4 name f1 a1 f2 a2 f3 a3 f4 a4) x
-> NF4 name f1 a1 f2 a2 f3 a3 f4 a4
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 x.
NF4 name f1 a1 f2 a2 f3 a3 f4 a4
-> Rep (NF4 name f1 a1 f2 a2 f3 a3 f4 a4) x
$cto :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 x.
Rep (NF4 name f1 a1 f2 a2 f3 a3 f4 a4) x
-> NF4 name f1 a1 f2 a2 f3 a3 f4 a4
$cfrom :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 x.
NF4 name f1 a1 f2 a2 f3 a3 f4 a4
-> Rep (NF4 name f1 a1 f2 a2 f3 a3 f4 a4) x
Generic)

data NF5 (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5 = NF5 a1 a2 a3 a4 a5
    deriving (Int -> NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5.
(Show a1, Show a2, Show a3, Show a4, Show a5) =>
Int -> NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5.
(Show a1, Show a2, Show a3, Show a4, Show a5) =>
[NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5] -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5.
(Show a1, Show a2, Show a3, Show a4, Show a5) =>
NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 -> String
showList :: [NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5] -> ShowS
$cshowList :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5.
(Show a1, Show a2, Show a3, Show a4, Show a5) =>
[NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5] -> ShowS
show :: NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 -> String
$cshow :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5.
(Show a1, Show a2, Show a3, Show a4, Show a5) =>
NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 -> String
showsPrec :: Int -> NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 -> ShowS
$cshowsPrec :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5.
(Show a1, Show a2, Show a3, Show a4, Show a5) =>
Int -> NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 -> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5 x.
Rep (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5) x
-> NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5 x.
NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5
-> Rep (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5) x
$cto :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5 x.
Rep (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5) x
-> NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5
$cfrom :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5 x.
NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5
-> Rep (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5) x
Generic)

data NF6 (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5 (f6 :: Symbol) a6 = NF6 a1 a2 a3 a4 a5 a6
    deriving (Int -> NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6) =>
Int -> NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6) =>
[NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6] -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6) =>
NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 -> String
showList :: [NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6] -> ShowS
$cshowList :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6) =>
[NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6] -> ShowS
show :: NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 -> String
$cshow :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6) =>
NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 -> String
showsPrec :: Int -> NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 -> ShowS
$cshowsPrec :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6) =>
Int -> NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 -> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 x.
Rep (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6) x
-> NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 x.
NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6
-> Rep (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6) x
$cto :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 x.
Rep (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6) x
-> NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6
$cfrom :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 x.
NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6
-> Rep (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6) x
Generic)

data NF7 (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5 (f6 :: Symbol) a6 (f7 :: Symbol) a7 = NF7 a1 a2 a3 a4 a5 a6 a7
    deriving (Int -> NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7) =>
Int -> NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7) =>
[NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7] -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7) =>
NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 -> String
showList :: [NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7] -> ShowS
$cshowList :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7) =>
[NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7] -> ShowS
show :: NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 -> String
$cshow :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7) =>
NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 -> String
showsPrec :: Int -> NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 -> ShowS
$cshowsPrec :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7) =>
Int -> NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 -> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 x.
Rep (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7) x
-> NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 x.
NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7
-> Rep (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7) x
$cto :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 x.
Rep (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7) x
-> NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7
$cfrom :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 x.
NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7
-> Rep (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7) x
Generic)

data NF8 (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5 (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8 = NF8 a1 a2 a3 a4 a5 a6 a7 a8
    deriving (Int
-> NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8
-> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8) =>
Int
-> NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8
-> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8) =>
[NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8] -> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8) =>
NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 -> String
showList :: [NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8] -> ShowS
$cshowList :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8) =>
[NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8] -> ShowS
show :: NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 -> String
$cshow :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8) =>
NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 -> String
showsPrec :: Int
-> NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8
-> ShowS
$cshowsPrec :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8) =>
Int
-> NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8
-> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8 x.
Rep (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8) x
-> NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8 x.
NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8
-> Rep (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8) x
$cto :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8 x.
Rep (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8) x
-> NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8
$cfrom :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8 x.
NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8
-> Rep (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8) x
Generic)

data NF9 (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2 (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5 (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8 (f9 :: Symbol) a9 = NF9 a1 a2 a3 a4 a5 a6 a7 a8 a9
    deriving (Int
-> NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8, Show a9) =>
Int
-> NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8, Show a9) =>
[NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9]
-> ShowS
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8, Show a9) =>
NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> String
showList :: [NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9]
-> ShowS
$cshowList :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8, Show a9) =>
[NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9]
-> ShowS
show :: NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> String
$cshow :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8, Show a9) =>
NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> String
showsPrec :: Int
-> NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> ShowS
$cshowsPrec :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9.
(Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7,
 Show a8, Show a9) =>
Int
-> NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> ShowS
Show, forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9 x.
Rep
  (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9) x
-> NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9 x.
NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> Rep
     (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9) x
$cto :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9 x.
Rep
  (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9) x
-> NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
$cfrom :: forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9 x.
NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> Rep
     (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9) x
Generic)

symbolKey :: forall n. KnownSymbol n => Key
symbolKey :: forall (n :: Symbol). KnownSymbol n => Key
symbolKey = String -> Key
Key.fromString forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @n

instance (KnownSymbol f1, ToJSON a1) => ToJSON (NF1 name f1 a1) where
    toJSON :: NF1 name f1 a1 -> Value
toJSON (NF1 a1
a1) =
        Object -> Value
Object forall a b. (a -> b) -> a -> b
$
            forall v. [(Key, v)] -> KeyMap v
KM.fromList
                [ (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1, forall a. ToJSON a => a -> Value
toJSON a1
a1)
                ]

instance
    ( KnownSymbol f1
    , ToJSON a1
    , KnownSymbol f2
    , ToJSON a2
    )
    => ToJSON (NF2 name f1 a1 f2 a2)
    where
    toJSON :: NF2 name f1 a1 f2 a2 -> Value
toJSON (NF2 a1
a1 a2
a2) =
        Object -> Value
Object forall a b. (a -> b) -> a -> b
$
            forall v. [(Key, v)] -> KeyMap v
KM.fromList
                [ (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1, forall a. ToJSON a => a -> Value
toJSON a1
a1)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2, forall a. ToJSON a => a -> Value
toJSON a2
a2)
                ]

instance
    ( KnownSymbol f1
    , ToJSON a1
    , KnownSymbol f2
    , ToJSON a2
    , KnownSymbol f3
    , ToJSON a3
    )
    => ToJSON (NF3 name f1 a1 f2 a2 f3 a3)
    where
    toJSON :: NF3 name f1 a1 f2 a2 f3 a3 -> Value
toJSON (NF3 a1
a1 a2
a2 a3
a3) =
        Object -> Value
Object forall a b. (a -> b) -> a -> b
$
            forall v. [(Key, v)] -> KeyMap v
KM.fromList
                [ (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1, forall a. ToJSON a => a -> Value
toJSON a1
a1)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2, forall a. ToJSON a => a -> Value
toJSON a2
a2)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3, forall a. ToJSON a => a -> Value
toJSON a3
a3)
                ]
instance
    ( KnownSymbol f1
    , ToJSON a1
    , KnownSymbol f2
    , ToJSON a2
    , KnownSymbol f3
    , ToJSON a3
    , KnownSymbol f4
    , ToJSON a4
    )
    => ToJSON (NF4 name f1 a1 f2 a2 f3 a3 f4 a4)
    where
    toJSON :: NF4 name f1 a1 f2 a2 f3 a3 f4 a4 -> Value
toJSON (NF4 a1
a1 a2
a2 a3
a3 a4
a4) =
        Object -> Value
Object forall a b. (a -> b) -> a -> b
$
            forall v. [(Key, v)] -> KeyMap v
KM.fromList
                [ (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1, forall a. ToJSON a => a -> Value
toJSON a1
a1)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2, forall a. ToJSON a => a -> Value
toJSON a2
a2)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3, forall a. ToJSON a => a -> Value
toJSON a3
a3)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4, forall a. ToJSON a => a -> Value
toJSON a4
a4)
                ]
instance
    ( KnownSymbol f1
    , ToJSON a1
    , KnownSymbol f2
    , ToJSON a2
    , KnownSymbol f3
    , ToJSON a3
    , KnownSymbol f4
    , ToJSON a4
    , KnownSymbol f5
    , ToJSON a5
    )
    => ToJSON (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5)
    where
    toJSON :: NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 -> Value
toJSON (NF5 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5) =
        Object -> Value
Object forall a b. (a -> b) -> a -> b
$
            forall v. [(Key, v)] -> KeyMap v
KM.fromList
                [ (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1, forall a. ToJSON a => a -> Value
toJSON a1
a1)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2, forall a. ToJSON a => a -> Value
toJSON a2
a2)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3, forall a. ToJSON a => a -> Value
toJSON a3
a3)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4, forall a. ToJSON a => a -> Value
toJSON a4
a4)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5, forall a. ToJSON a => a -> Value
toJSON a5
a5)
                ]
instance
    ( KnownSymbol f1
    , ToJSON a1
    , KnownSymbol f2
    , ToJSON a2
    , KnownSymbol f3
    , ToJSON a3
    , KnownSymbol f4
    , ToJSON a4
    , KnownSymbol f5
    , ToJSON a5
    , KnownSymbol f6
    , ToJSON a6
    )
    => ToJSON (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6)
    where
    toJSON :: NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 -> Value
toJSON (NF6 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6) =
        Object -> Value
Object forall a b. (a -> b) -> a -> b
$
            forall v. [(Key, v)] -> KeyMap v
KM.fromList
                [ (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1, forall a. ToJSON a => a -> Value
toJSON a1
a1)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2, forall a. ToJSON a => a -> Value
toJSON a2
a2)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3, forall a. ToJSON a => a -> Value
toJSON a3
a3)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4, forall a. ToJSON a => a -> Value
toJSON a4
a4)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5, forall a. ToJSON a => a -> Value
toJSON a5
a5)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f6, forall a. ToJSON a => a -> Value
toJSON a6
a6)
                ]
instance
    ( KnownSymbol f1
    , ToJSON a1
    , KnownSymbol f2
    , ToJSON a2
    , KnownSymbol f3
    , ToJSON a3
    , KnownSymbol f4
    , ToJSON a4
    , KnownSymbol f5
    , ToJSON a5
    , KnownSymbol f6
    , ToJSON a6
    , KnownSymbol f7
    , ToJSON a7
    )
    => ToJSON (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7)
    where
    toJSON :: NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 -> Value
toJSON (NF7 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7) =
        Object -> Value
Object forall a b. (a -> b) -> a -> b
$
            forall v. [(Key, v)] -> KeyMap v
KM.fromList
                [ (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1, forall a. ToJSON a => a -> Value
toJSON a1
a1)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2, forall a. ToJSON a => a -> Value
toJSON a2
a2)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3, forall a. ToJSON a => a -> Value
toJSON a3
a3)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4, forall a. ToJSON a => a -> Value
toJSON a4
a4)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5, forall a. ToJSON a => a -> Value
toJSON a5
a5)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f6, forall a. ToJSON a => a -> Value
toJSON a6
a6)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f7, forall a. ToJSON a => a -> Value
toJSON a7
a7)
                ]
instance
    ( KnownSymbol f1
    , ToJSON a1
    , KnownSymbol f2
    , ToJSON a2
    , KnownSymbol f3
    , ToJSON a3
    , KnownSymbol f4
    , ToJSON a4
    , KnownSymbol f5
    , ToJSON a5
    , KnownSymbol f6
    , ToJSON a6
    , KnownSymbol f7
    , ToJSON a7
    , KnownSymbol f8
    , ToJSON a8
    )
    => ToJSON (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8)
    where
    toJSON :: NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 -> Value
toJSON (NF8 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8) =
        Object -> Value
Object forall a b. (a -> b) -> a -> b
$
            forall v. [(Key, v)] -> KeyMap v
KM.fromList
                [ (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1, forall a. ToJSON a => a -> Value
toJSON a1
a1)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2, forall a. ToJSON a => a -> Value
toJSON a2
a2)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3, forall a. ToJSON a => a -> Value
toJSON a3
a3)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4, forall a. ToJSON a => a -> Value
toJSON a4
a4)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5, forall a. ToJSON a => a -> Value
toJSON a5
a5)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f6, forall a. ToJSON a => a -> Value
toJSON a6
a6)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f7, forall a. ToJSON a => a -> Value
toJSON a7
a7)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f8, forall a. ToJSON a => a -> Value
toJSON a8
a8)
                ]
instance
    ( KnownSymbol f1
    , ToJSON a1
    , KnownSymbol f2
    , ToJSON a2
    , KnownSymbol f3
    , ToJSON a3
    , KnownSymbol f4
    , ToJSON a4
    , KnownSymbol f5
    , ToJSON a5
    , KnownSymbol f6
    , ToJSON a6
    , KnownSymbol f7
    , ToJSON a7
    , KnownSymbol f8
    , ToJSON a8
    , KnownSymbol f9
    , ToJSON a9
    )
    => ToJSON (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9)
    where
    toJSON :: NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
-> Value
toJSON (NF9 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9) =
        Object -> Value
Object forall a b. (a -> b) -> a -> b
$
            forall v. [(Key, v)] -> KeyMap v
KM.fromList
                [ (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1, forall a. ToJSON a => a -> Value
toJSON a1
a1)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2, forall a. ToJSON a => a -> Value
toJSON a2
a2)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3, forall a. ToJSON a => a -> Value
toJSON a3
a3)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4, forall a. ToJSON a => a -> Value
toJSON a4
a4)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5, forall a. ToJSON a => a -> Value
toJSON a5
a5)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f6, forall a. ToJSON a => a -> Value
toJSON a6
a6)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f7, forall a. ToJSON a => a -> Value
toJSON a7
a7)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f8, forall a. ToJSON a => a -> Value
toJSON a8
a8)
                , (forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f9, forall a. ToJSON a => a -> Value
toJSON a9
a9)
                ]

instance
    (KnownSymbol name, KnownSymbol f1, FromJSON a1)
    => FromJSON (NF1 name f1 a1)
    where
    parseJSON :: Value -> Parser (NF1 name f1 a1)
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject (forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name) forall a b. (a -> b) -> a -> b
$ \Object
o -> do
        a1
a1 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1
        forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (name :: Symbol) (f1 :: Symbol) ty. ty -> NF1 name f1 ty
NF1 a1
a1

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , FromJSON a1
    , KnownSymbol f2
    , FromJSON a2
    )
    => FromJSON (NF2 name f1 a1 f2 a2)
    where
    parseJSON :: Value -> Parser (NF2 name f1 a1 f2 a2)
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject (forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name) forall a b. (a -> b) -> a -> b
$ \Object
o -> do
        a1
a1 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1
        a2
a2 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2
        forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2.
a1 -> a2 -> NF2 name f1 a1 f2 a2
NF2 a1
a1 a2
a2

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , FromJSON a1
    , KnownSymbol f2
    , FromJSON a2
    , KnownSymbol f3
    , FromJSON a3
    )
    => FromJSON (NF3 name f1 a1 f2 a2 f3 a3)
    where
    parseJSON :: Value -> Parser (NF3 name f1 a1 f2 a2 f3 a3)
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject (forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name) forall a b. (a -> b) -> a -> b
$ \Object
o -> do
        a1
a1 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1
        a2
a2 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2
        a3
a3 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3
        forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3.
a1 -> a2 -> a3 -> NF3 name f1 a1 f2 a2 f3 a3
NF3 a1
a1 a2
a2 a3
a3

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , FromJSON a1
    , KnownSymbol f2
    , FromJSON a2
    , KnownSymbol f3
    , FromJSON a3
    , KnownSymbol f4
    , FromJSON a4
    )
    => FromJSON (NF4 name f1 a1 f2 a2 f3 a3 f4 a4)
    where
    parseJSON :: Value -> Parser (NF4 name f1 a1 f2 a2 f3 a3 f4 a4)
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject (forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name) forall a b. (a -> b) -> a -> b
$ \Object
o -> do
        a1
a1 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1
        a2
a2 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2
        a3
a3 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3
        a4
a4 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4
        forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4.
a1 -> a2 -> a3 -> a4 -> NF4 name f1 a1 f2 a2 f3 a3 f4 a4
NF4 a1
a1 a2
a2 a3
a3 a4
a4

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , FromJSON a1
    , KnownSymbol f2
    , FromJSON a2
    , KnownSymbol f3
    , FromJSON a3
    , KnownSymbol f4
    , FromJSON a4
    , KnownSymbol f5
    , FromJSON a5
    )
    => FromJSON (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5)
    where
    parseJSON :: Value -> Parser (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5)
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject (forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name) forall a b. (a -> b) -> a -> b
$ \Object
o -> do
        a1
a1 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1
        a2
a2 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2
        a3
a3 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3
        a4
a4 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4
        a5
a5 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5
        forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5.
a1
-> a2 -> a3 -> a4 -> a5 -> NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5
NF5 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , FromJSON a1
    , KnownSymbol f2
    , FromJSON a2
    , KnownSymbol f3
    , FromJSON a3
    , KnownSymbol f4
    , FromJSON a4
    , KnownSymbol f5
    , FromJSON a5
    , KnownSymbol f6
    , FromJSON a6
    )
    => FromJSON (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6)
    where
    parseJSON :: Value -> Parser (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6)
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject (forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name) forall a b. (a -> b) -> a -> b
$ \Object
o -> do
        a1
a1 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1
        a2
a2 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2
        a3
a3 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3
        a4
a4 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4
        a5
a5 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5
        a6
a6 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f6
        forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6.
a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6
NF6 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , FromJSON a1
    , KnownSymbol f2
    , FromJSON a2
    , KnownSymbol f3
    , FromJSON a3
    , KnownSymbol f4
    , FromJSON a4
    , KnownSymbol f5
    , FromJSON a5
    , KnownSymbol f6
    , FromJSON a6
    , KnownSymbol f7
    , FromJSON a7
    )
    => FromJSON (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7)
    where
    parseJSON :: Value
-> Parser (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7)
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject (forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name) forall a b. (a -> b) -> a -> b
$ \Object
o -> do
        a1
a1 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1
        a2
a2 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2
        a3
a3 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3
        a4
a4 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4
        a5
a5 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5
        a6
a6 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f6
        a7
a7 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f7
        forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7.
a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7
NF7 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , FromJSON a1
    , KnownSymbol f2
    , FromJSON a2
    , KnownSymbol f3
    , FromJSON a3
    , KnownSymbol f4
    , FromJSON a4
    , KnownSymbol f5
    , FromJSON a5
    , KnownSymbol f6
    , FromJSON a6
    , KnownSymbol f7
    , FromJSON a7
    , KnownSymbol f8
    , FromJSON a8
    )
    => FromJSON (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8)
    where
    parseJSON :: Value
-> Parser
     (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8)
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject (forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name) forall a b. (a -> b) -> a -> b
$ \Object
o -> do
        a1
a1 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1
        a2
a2 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2
        a3
a3 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3
        a4
a4 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4
        a5
a5 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5
        a6
a6 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f6
        a7
a7 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f7
        a8
a8 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f8
        forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8.
a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8
NF8 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , FromJSON a1
    , KnownSymbol f2
    , FromJSON a2
    , KnownSymbol f3
    , FromJSON a3
    , KnownSymbol f4
    , FromJSON a4
    , KnownSymbol f5
    , FromJSON a5
    , KnownSymbol f6
    , FromJSON a6
    , KnownSymbol f7
    , FromJSON a7
    , KnownSymbol f8
    , FromJSON a8
    , KnownSymbol f9
    , FromJSON a9
    )
    => FromJSON (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9)
    where
    parseJSON :: Value
-> Parser
     (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9)
parseJSON = forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject (forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name) forall a b. (a -> b) -> a -> b
$ \Object
o -> do
        a1
a1 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f1
        a2
a2 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f2
        a3
a3 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f3
        a4
a4 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f4
        a5
a5 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f5
        a6
a6 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f6
        a7
a7 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f7
        a8
a8 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f8
        a9
a9 <- Object
o forall a. FromJSON a => Object -> Key -> Parser a
.: forall (n :: Symbol). KnownSymbol n => Key
symbolKey @f9
        forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (name :: Symbol) (f1 :: Symbol) a1 (f2 :: Symbol) a2
       (f3 :: Symbol) a3 (f4 :: Symbol) a4 (f5 :: Symbol) a5
       (f6 :: Symbol) a6 (f7 :: Symbol) a7 (f8 :: Symbol) a8
       (f9 :: Symbol) a9.
a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9
NF9 a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , ToSchema a1
    )
    => ToSchema (NF1 name f1 a1)
    where
    declareNamedSchema :: Proxy (NF1 name f1 a1) -> Declare (Definitions Schema) NamedSchema
declareNamedSchema Proxy (NF1 name f1 a1)
_ = do
        Schema
f1Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a1
        let f1 :: ParamName
f1 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f1
        -- Not sure we should be inlining the schema. Let
        let nfSchema :: Schema
            nfSchema :: Schema
nfSchema =
                forall a. Monoid a => a
mempty
                    { _schemaRequired :: [ParamName]
_schemaRequired = [ParamName
f1]
                    , _schemaProperties :: InsOrdHashMap ParamName (Referenced Schema)
_schemaProperties = [(ParamName
f1, forall a. a -> Referenced a
Inline Schema
f1Dec)]
                    }
        forall (f :: * -> *) a. Applicative f => a -> f a
pure
            NamedSchema
                { _namedSchemaName :: Maybe ParamName
_namedSchemaName = forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name
                , _namedSchemaSchema :: Schema
_namedSchemaSchema = Schema
nfSchema
                }

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , ToSchema a1
    , KnownSymbol f2
    , ToSchema a2
    )
    => ToSchema (NF2 name f1 a1 f2 a2)
    where
    declareNamedSchema :: Proxy (NF2 name f1 a1 f2 a2)
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema Proxy (NF2 name f1 a1 f2 a2)
_ = do
        Schema
f1Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a1
        Schema
f2Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a2
        let f1 :: ParamName
f1 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f1
        let f2 :: ParamName
f2 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f2
        -- Not sure we should be inlining the schema. Let
        let nfSchema :: Schema
            nfSchema :: Schema
nfSchema =
                forall a. Monoid a => a
mempty
                    { _schemaRequired :: [ParamName]
_schemaRequired = [ParamName
f1, ParamName
f2]
                    , _schemaProperties :: InsOrdHashMap ParamName (Referenced Schema)
_schemaProperties =
                        [ (ParamName
f1, forall a. a -> Referenced a
Inline Schema
f1Dec)
                        , (ParamName
f2, forall a. a -> Referenced a
Inline Schema
f2Dec)
                        ]
                    }
        forall (f :: * -> *) a. Applicative f => a -> f a
pure
            NamedSchema
                { _namedSchemaName :: Maybe ParamName
_namedSchemaName = forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name
                , _namedSchemaSchema :: Schema
_namedSchemaSchema = Schema
nfSchema
                }

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , ToSchema a1
    , KnownSymbol f2
    , ToSchema a2
    , KnownSymbol f3
    , ToSchema a3
    )
    => ToSchema (NF3 name f1 a1 f2 a2 f3 a3)
    where
    declareNamedSchema :: Proxy (NF3 name f1 a1 f2 a2 f3 a3)
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema Proxy (NF3 name f1 a1 f2 a2 f3 a3)
_ = do
        Schema
f1Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a1
        Schema
f2Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a2
        Schema
f3Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a3
        let f1 :: ParamName
f1 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f1
        let f2 :: ParamName
f2 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f2
        let f3 :: ParamName
f3 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f3
        -- Not sure we should be inlining the schema. Let
        let nfSchema :: Schema
            nfSchema :: Schema
nfSchema =
                forall a. Monoid a => a
mempty
                    { _schemaRequired :: [ParamName]
_schemaRequired = [ParamName
f1, ParamName
f2, ParamName
f3]
                    , _schemaProperties :: InsOrdHashMap ParamName (Referenced Schema)
_schemaProperties =
                        [ (ParamName
f1, forall a. a -> Referenced a
Inline Schema
f1Dec)
                        , (ParamName
f2, forall a. a -> Referenced a
Inline Schema
f2Dec)
                        , (ParamName
f3, forall a. a -> Referenced a
Inline Schema
f3Dec)
                        ]
                    }
        forall (f :: * -> *) a. Applicative f => a -> f a
pure
            NamedSchema
                { _namedSchemaName :: Maybe ParamName
_namedSchemaName = forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name
                , _namedSchemaSchema :: Schema
_namedSchemaSchema = Schema
nfSchema
                }

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , ToSchema a1
    , KnownSymbol f2
    , ToSchema a2
    , KnownSymbol f3
    , ToSchema a3
    , KnownSymbol f4
    , ToSchema a4
    )
    => ToSchema (NF4 name f1 a1 f2 a2 f3 a3 f4 a4)
    where
    declareNamedSchema :: Proxy (NF4 name f1 a1 f2 a2 f3 a3 f4 a4)
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema Proxy (NF4 name f1 a1 f2 a2 f3 a3 f4 a4)
_ = do
        Schema
f1Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a1
        Schema
f2Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a2
        Schema
f3Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a3
        Schema
f4Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a4
        let f1 :: ParamName
f1 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f1
        let f2 :: ParamName
f2 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f2
        let f3 :: ParamName
f3 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f3
        let f4 :: ParamName
f4 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f4
        -- Not sure we should be inlining the schema. Let
        let nfSchema :: Schema
            nfSchema :: Schema
nfSchema =
                forall a. Monoid a => a
mempty
                    { _schemaRequired :: [ParamName]
_schemaRequired = [ParamName
f1, ParamName
f2, ParamName
f3, ParamName
f4]
                    , _schemaProperties :: InsOrdHashMap ParamName (Referenced Schema)
_schemaProperties =
                        [ (ParamName
f1, forall a. a -> Referenced a
Inline Schema
f1Dec)
                        , (ParamName
f2, forall a. a -> Referenced a
Inline Schema
f2Dec)
                        , (ParamName
f3, forall a. a -> Referenced a
Inline Schema
f3Dec)
                        , (ParamName
f4, forall a. a -> Referenced a
Inline Schema
f4Dec)
                        ]
                    }
        forall (f :: * -> *) a. Applicative f => a -> f a
pure
            NamedSchema
                { _namedSchemaName :: Maybe ParamName
_namedSchemaName = forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name
                , _namedSchemaSchema :: Schema
_namedSchemaSchema = Schema
nfSchema
                }

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , ToSchema a1
    , KnownSymbol f2
    , ToSchema a2
    , KnownSymbol f3
    , ToSchema a3
    , KnownSymbol f4
    , ToSchema a4
    , KnownSymbol f5
    , ToSchema a5
    )
    => ToSchema (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5)
    where
    declareNamedSchema :: Proxy (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5)
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema Proxy (NF5 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5)
_ = do
        Schema
f1Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a1
        Schema
f2Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a2
        Schema
f3Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a3
        Schema
f4Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a4
        Schema
f5Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a5
        let f1 :: ParamName
f1 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f1
        let f2 :: ParamName
f2 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f2
        let f3 :: ParamName
f3 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f3
        let f4 :: ParamName
f4 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f4
        let f5 :: ParamName
f5 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f5
        -- Not sure we should be inlining the schema. Let
        let nfSchema :: Schema
            nfSchema :: Schema
nfSchema =
                forall a. Monoid a => a
mempty
                    { _schemaRequired :: [ParamName]
_schemaRequired = [ParamName
f1, ParamName
f2, ParamName
f3, ParamName
f4, ParamName
f5]
                    , _schemaProperties :: InsOrdHashMap ParamName (Referenced Schema)
_schemaProperties =
                        [ (ParamName
f1, forall a. a -> Referenced a
Inline Schema
f1Dec)
                        , (ParamName
f2, forall a. a -> Referenced a
Inline Schema
f2Dec)
                        , (ParamName
f3, forall a. a -> Referenced a
Inline Schema
f3Dec)
                        , (ParamName
f4, forall a. a -> Referenced a
Inline Schema
f4Dec)
                        , (ParamName
f5, forall a. a -> Referenced a
Inline Schema
f5Dec)
                        ]
                    }
        forall (f :: * -> *) a. Applicative f => a -> f a
pure
            NamedSchema
                { _namedSchemaName :: Maybe ParamName
_namedSchemaName = forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name
                , _namedSchemaSchema :: Schema
_namedSchemaSchema = Schema
nfSchema
                }

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , ToSchema a1
    , KnownSymbol f2
    , ToSchema a2
    , KnownSymbol f3
    , ToSchema a3
    , KnownSymbol f4
    , ToSchema a4
    , KnownSymbol f5
    , ToSchema a5
    , KnownSymbol f6
    , ToSchema a6
    )
    => ToSchema (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6)
    where
    declareNamedSchema :: Proxy (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6)
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema Proxy (NF6 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6)
_ = do
        Schema
f1Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a1
        Schema
f2Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a2
        Schema
f3Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a3
        Schema
f4Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a4
        Schema
f5Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a5
        Schema
f6Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a6
        let f1 :: ParamName
f1 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f1
        let f2 :: ParamName
f2 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f2
        let f3 :: ParamName
f3 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f3
        let f4 :: ParamName
f4 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f4
        let f5 :: ParamName
f5 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f5
        let f6 :: ParamName
f6 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f6
        -- Not sure we should be inlining the schema. Let
        let nfSchema :: Schema
            nfSchema :: Schema
nfSchema =
                forall a. Monoid a => a
mempty
                    { _schemaRequired :: [ParamName]
_schemaRequired = [ParamName
f1, ParamName
f2, ParamName
f3, ParamName
f4, ParamName
f5, ParamName
f6]
                    , _schemaProperties :: InsOrdHashMap ParamName (Referenced Schema)
_schemaProperties =
                        [ (ParamName
f1, forall a. a -> Referenced a
Inline Schema
f1Dec)
                        , (ParamName
f2, forall a. a -> Referenced a
Inline Schema
f2Dec)
                        , (ParamName
f3, forall a. a -> Referenced a
Inline Schema
f3Dec)
                        , (ParamName
f4, forall a. a -> Referenced a
Inline Schema
f4Dec)
                        , (ParamName
f5, forall a. a -> Referenced a
Inline Schema
f5Dec)
                        , (ParamName
f6, forall a. a -> Referenced a
Inline Schema
f6Dec)
                        ]
                    }
        forall (f :: * -> *) a. Applicative f => a -> f a
pure
            NamedSchema
                { _namedSchemaName :: Maybe ParamName
_namedSchemaName = forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name
                , _namedSchemaSchema :: Schema
_namedSchemaSchema = Schema
nfSchema
                }

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , ToSchema a1
    , KnownSymbol f2
    , ToSchema a2
    , KnownSymbol f3
    , ToSchema a3
    , KnownSymbol f4
    , ToSchema a4
    , KnownSymbol f5
    , ToSchema a5
    , KnownSymbol f6
    , ToSchema a6
    , KnownSymbol f7
    , ToSchema a7
    )
    => ToSchema (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7)
    where
    declareNamedSchema :: Proxy (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7)
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema Proxy (NF7 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7)
_ = do
        Schema
f1Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a1
        Schema
f2Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a2
        Schema
f3Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a3
        Schema
f4Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a4
        Schema
f5Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a5
        Schema
f6Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a6
        Schema
f7Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a7
        let f1 :: ParamName
f1 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f1
        let f2 :: ParamName
f2 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f2
        let f3 :: ParamName
f3 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f3
        let f4 :: ParamName
f4 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f4
        let f5 :: ParamName
f5 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f5
        let f6 :: ParamName
f6 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f6
        let f7 :: ParamName
f7 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f7
        -- Not sure we should be inlining the schema. Let
        let nfSchema :: Schema
            nfSchema :: Schema
nfSchema =
                forall a. Monoid a => a
mempty
                    { _schemaRequired :: [ParamName]
_schemaRequired = [ParamName
f1, ParamName
f2, ParamName
f3, ParamName
f4, ParamName
f5, ParamName
f6, ParamName
f7]
                    , _schemaProperties :: InsOrdHashMap ParamName (Referenced Schema)
_schemaProperties =
                        [ (ParamName
f1, forall a. a -> Referenced a
Inline Schema
f1Dec)
                        , (ParamName
f2, forall a. a -> Referenced a
Inline Schema
f2Dec)
                        , (ParamName
f3, forall a. a -> Referenced a
Inline Schema
f3Dec)
                        , (ParamName
f4, forall a. a -> Referenced a
Inline Schema
f4Dec)
                        , (ParamName
f5, forall a. a -> Referenced a
Inline Schema
f5Dec)
                        , (ParamName
f6, forall a. a -> Referenced a
Inline Schema
f6Dec)
                        , (ParamName
f7, forall a. a -> Referenced a
Inline Schema
f7Dec)
                        ]
                    }
        forall (f :: * -> *) a. Applicative f => a -> f a
pure
            NamedSchema
                { _namedSchemaName :: Maybe ParamName
_namedSchemaName = forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name
                , _namedSchemaSchema :: Schema
_namedSchemaSchema = Schema
nfSchema
                }

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , ToSchema a1
    , KnownSymbol f2
    , ToSchema a2
    , KnownSymbol f3
    , ToSchema a3
    , KnownSymbol f4
    , ToSchema a4
    , KnownSymbol f5
    , ToSchema a5
    , KnownSymbol f6
    , ToSchema a6
    , KnownSymbol f7
    , ToSchema a7
    , KnownSymbol f8
    , ToSchema a8
    )
    => ToSchema (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8)
    where
    declareNamedSchema :: Proxy (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8)
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema Proxy (NF8 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8)
_ = do
        Schema
f1Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a1
        Schema
f2Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a2
        Schema
f3Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a3
        Schema
f4Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a4
        Schema
f5Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a5
        Schema
f6Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a6
        Schema
f7Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a7
        Schema
f8Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a8
        let f1 :: ParamName
f1 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f1
        let f2 :: ParamName
f2 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f2
        let f3 :: ParamName
f3 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f3
        let f4 :: ParamName
f4 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f4
        let f5 :: ParamName
f5 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f5
        let f6 :: ParamName
f6 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f6
        let f7 :: ParamName
f7 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f7
        let f8 :: ParamName
f8 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f8
        -- Not sure we should be inlining the schema. Let
        let nfSchema :: Schema
            nfSchema :: Schema
nfSchema =
                forall a. Monoid a => a
mempty
                    { _schemaRequired :: [ParamName]
_schemaRequired = [ParamName
f1, ParamName
f2, ParamName
f3, ParamName
f4, ParamName
f5, ParamName
f6, ParamName
f7, ParamName
f8]
                    , _schemaProperties :: InsOrdHashMap ParamName (Referenced Schema)
_schemaProperties =
                        [ (ParamName
f1, forall a. a -> Referenced a
Inline Schema
f1Dec)
                        , (ParamName
f2, forall a. a -> Referenced a
Inline Schema
f2Dec)
                        , (ParamName
f3, forall a. a -> Referenced a
Inline Schema
f3Dec)
                        , (ParamName
f4, forall a. a -> Referenced a
Inline Schema
f4Dec)
                        , (ParamName
f5, forall a. a -> Referenced a
Inline Schema
f5Dec)
                        , (ParamName
f6, forall a. a -> Referenced a
Inline Schema
f6Dec)
                        , (ParamName
f7, forall a. a -> Referenced a
Inline Schema
f7Dec)
                        , (ParamName
f8, forall a. a -> Referenced a
Inline Schema
f8Dec)
                        ]
                    }
        forall (f :: * -> *) a. Applicative f => a -> f a
pure
            NamedSchema
                { _namedSchemaName :: Maybe ParamName
_namedSchemaName = forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name
                , _namedSchemaSchema :: Schema
_namedSchemaSchema = Schema
nfSchema
                }

instance
    ( KnownSymbol name
    , KnownSymbol f1
    , ToSchema a1
    , KnownSymbol f2
    , ToSchema a2
    , KnownSymbol f3
    , ToSchema a3
    , KnownSymbol f4
    , ToSchema a4
    , KnownSymbol f5
    , ToSchema a5
    , KnownSymbol f6
    , ToSchema a6
    , KnownSymbol f7
    , ToSchema a7
    , KnownSymbol f8
    , ToSchema a8
    , KnownSymbol f9
    , ToSchema a9
    )
    => ToSchema (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9)
    where
    declareNamedSchema :: Proxy
  (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9)
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema Proxy
  (NF9 name f1 a1 f2 a2 f3 a3 f4 a4 f5 a5 f6 a6 f7 a7 f8 a8 f9 a9)
_ = do
        Schema
f1Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a1
        Schema
f2Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a2
        Schema
f3Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a3
        Schema
f4Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a4
        Schema
f5Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a5
        Schema
f6Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a6
        Schema
f7Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a7
        Schema
f8Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a8
        Schema
f9Dec <- forall a.
ToSchema a =>
Proxy a -> Declare (Definitions Schema) Schema
declareSchema forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @a9
        let f1 :: ParamName
f1 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f1
        let f2 :: ParamName
f2 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f2
        let f3 :: ParamName
f3 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f3
        let f4 :: ParamName
f4 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f4
        let f5 :: ParamName
f5 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f5
        let f6 :: ParamName
f6 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f6
        let f7 :: ParamName
f7 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f7
        let f8 :: ParamName
f8 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f8
        let f9 :: ParamName
f9 = String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @f9
        -- Not sure we should be inlining the schema. Let
        let nfSchema :: Schema
            nfSchema :: Schema
nfSchema =
                forall a. Monoid a => a
mempty
                    { _schemaRequired :: [ParamName]
_schemaRequired = [ParamName
f1, ParamName
f2, ParamName
f3, ParamName
f4, ParamName
f5, ParamName
f6, ParamName
f7, ParamName
f8, ParamName
f9]
                    , _schemaProperties :: InsOrdHashMap ParamName (Referenced Schema)
_schemaProperties =
                        [ (ParamName
f1, forall a. a -> Referenced a
Inline Schema
f1Dec)
                        , (ParamName
f2, forall a. a -> Referenced a
Inline Schema
f2Dec)
                        , (ParamName
f3, forall a. a -> Referenced a
Inline Schema
f3Dec)
                        , (ParamName
f4, forall a. a -> Referenced a
Inline Schema
f4Dec)
                        , (ParamName
f5, forall a. a -> Referenced a
Inline Schema
f5Dec)
                        , (ParamName
f6, forall a. a -> Referenced a
Inline Schema
f6Dec)
                        , (ParamName
f7, forall a. a -> Referenced a
Inline Schema
f7Dec)
                        , (ParamName
f8, forall a. a -> Referenced a
Inline Schema
f8Dec)
                        , (ParamName
f9, forall a. a -> Referenced a
Inline Schema
f9Dec)
                        ]
                    }
        forall (f :: * -> *) a. Applicative f => a -> f a
pure
            NamedSchema
                { _namedSchemaName :: Maybe ParamName
_namedSchemaName = forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> ParamName
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal forall a b. (a -> b) -> a -> b
$ forall {k} (t :: k). Proxy t
Proxy @name
                , _namedSchemaSchema :: Schema
_namedSchemaSchema = Schema
nfSchema
                }