packages feed

casa-reoc (empty) → 0.1.0.0

raw patch · 562 files changed

+59366/−0 lines, 562 filesdep +basedep +bytestringdep +casa-reocbinary-added

Dependencies added: base, bytestring, casa-reoc, containers, directory, filepath, hedgehog, lens, process, tagged, template-haskell, text, time, validation, xml-conduit

This diff is very large; some files are shown as “too large to diff”. Download the raw patch for the complete diff.

Files

+ LICENCE view
@@ -0,0 +1,29 @@+Copyright (c) 2026, System F Aerial Operations Pty Ltd++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++1. Redistributions of source code must retain the above copyright notice,+   this list of conditions and the following disclaimer.++2. Redistributions in binary form must reproduce the above copyright notice,+   this list of conditions and the following disclaimer in the documentation+   and/or other materials provided with the distribution.++3. Neither the name of the copyright holder nor the names of its+   contributors may be used to endorse or promote products derived from this+   software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE+POSSIBILITY OF SUCH DAMAGE.
+ README.md view
@@ -0,0 +1,318 @@+# casa-reoc++![System F Logo](https://logo.systemf.com.au/systemf-450x450.png)++The variables of an application to the Civil Aviation Safety Authority (CASA)+for the initial issue of a remotely piloted aircraft operator's certificate+(ReOC), of its RPAS operations manual and of its RePL training manual, as+Haskell data types. A `ReOC` is filled in field by field, and a valid one+gives the documents:++* `rpa-operators-certificate-initial-issue.xfdf`: the answers to CASA Form+  101-02, to fill into the blank form+* `rpas-operations-manual.fodt`: the operations manual, as Flat ODF text+* `repl-training-manual.fodt`: the RePL training manual, only when RePL+  training is applied for++```haskell+data ReOC' a1 a2 a3 a4 = ReOC' a1 a2 a3 a4+type ReOC = ReOC' Operator ApplicationForm OperationsManual (Maybe TrainingMaterial)+type UnfilledReOC = ReOC' UnfilledOperator UnfilledApplicationForm UnfilledOperationsManual (Maybe UnfilledTrainingMaterial)+```++## Filling in++Every data type of the form (a product, or a sum with a constructor that+holds a value) takes a type parameter for each of its fields, and has two+forms: the valid form (`Company`), and the unfilled form (`UnfilledCompany`),+whose fields hold what has been entered, if anything. An unfilled form holds+raw values: text for an ABN or a name, a number for a weight, the unfilled+form of a nested product, `Maybe` of a sum or an enumeration, and a list for+any list. Each field has one name, an optic, for both forms, so a form is+filled in with the same optics that read a valid one:++```haskell+draft :: UnfilledReOC+draft =+  mkUnfilledReOC+    & operator . company . companyName ?~ "Banksia Point Aerial Media"+    & operator . company . abn ?~ "15 092 285 143"+    & operator . keyPersonnel . chiefPilot . crpNominee ?~ CRPIsCEO+```++`fillReOC` (and `fillT` for each form type) checks an unfilled form, and+gives either the valid form, or every reason it is not valid, each at the+path of its field from the whole form:++```haskell+fillReOC :: AsReOCError e => UnfilledReOC -> Either (NonEmpty e) ReOC+```++The errors are of three kinds, each a data type with a name: `Unfilled` (a+required field left empty), `Invalid` (a value its field does not accept,+with what it is: `InvalidABN`, `InvalidFormText`, ...) and `TooMany` (a list+with more elements than its field holds). `AsReOCError e` lets the caller+choose the error type, with the names of the three; `ReOCError` is their sum.+A path is a list of `Step`s, each a `Field` (one constructor for each field+of each form type, such as `CompanyAbn`) or the index of a list element, so+the same field in different places (a person's name as CEO or as chief remote+pilot) is told apart. `fieldHelp` gives the help text of a field, and+`fieldLabel` its label; `renderReOCErrors` writes errors with both:++```+operator › company › ABN: “15 092 285 143” is not an ABN: 11 digits with valid check digits (The company’s Australian business number (ABN).)+operator › company › ARN: not filled in (The company’s CASA aviation reference number (ARN).)+```++`unfillReOC` gives the unfilled form of a valid `ReOC`, to change it and fill+it in again; filling in the unfilled form of a valid value gives it back.++A field that may be empty (a business name, RePL training) is `Maybe` in+both forms, and `Nothing` means none. A sum chosen without its value (`RePLTraining Nothing`)+is unfilled at the value.++The checks are those of the types (below). No check of a limit that the+operator sets (`Policies`) is made: the CASA publications in `etc/casa` give+no numbers for them (AC 101-01, section 5.7.1: CASA has no requirements for+continuing flight proficiency or currency), and the reviews that they do+require (the manual and the risk register, at least annually) are held by+the types.++The documents hold placeholders for a document build to fill:+`${CI_COMMIT_SHA}` and `${CI_PAGES_URL}` in the manuals, and+`${DECLARATION_DAY}`, `${DECLARATION_MONTH}` and `${DECLARATION_YEAR}` in the+form, so that each build records the version it was built from and the date+of the declaration. `writeDocuments` keeps them, and `writeFilledDocuments`+fills them.++Beside the application form, `writeDocuments` writes the blank CASA Form+101-02 (`blankForm`, `blankFormFile`), which the XFDF names, and, if the+application form holds one, the written signature of the declarant+(`written-signature.png`), so that a directory of documents refers to+nothing outside it. The blank form is read from `etc/casa` when the package+is compiled; the written signature is given by its contents+(`WrittenSignatureImage`) or by the path of its file (`WrittenSignatureFile`),+which is read when the documents are written. `etc/casa` also holds the CASA+publications that the documents were written from. To fill the form:++```+pdftk rpa-operators-certificate-reoc-initial-issue-variation-renewal-form-101-02.pdf \+  fill_form rpa-operators-certificate-initial-issue.xfdf output filled.pdf+```++Placing the written signature in the signature box of question 31 is left to+the document build.++To make the documents of an operator, fill in an `UnfilledReOC` (start from+one of the examples) in a package that depends on `casa-reoc`, and pass the+`ReOC` that `fillReOC` gives to `writeDocuments`.++## Licence++BSD-3-Clause (`LICENCE`). The CASA publications in `etc/casa` are CASA's,+and are not covered by it.++## Writing the documents++`examples` holds the applications of four made-up operators+(`ReOC.Examples`), each filled in field by field from `mkUnfilledReOC`, and+the documents that each gives, in its own directory:++* `banksia-point-aerial-media`: one person who holds every key position,+  flies solo, and operates one type of small multirotor;+* `ironbark-asset-inspection`: three key personnel, other remote pilots,+  multi-crew operations, three types of multirotor including a medium RPA, a+  revised manual, a chief remote pilot of another ReOC holder, and a+  regulatory action;+* `saltbush-ag-surveys`: a CEO who is not a director and does not fly, a+  chief remote pilot who is also maintenance controller, a multirotor, a+  fixed-wing and a powered-lift RPA, a disclosed history, and a declaration+  by a director;+* `wattle-creek-drone-academy`: RePL training, with a chief RePL instructor+  who is not otherwise key personnel, three courses (initial, a higher+  weight class and a new category) and intents for questions 14 and 16.++`ReOC.Example.Draft` is an application that has only been started, and the+errors that filling it in gives.++Their companies, people, numbers and addresses are made up: phone numbers+are from the ranges that ACMA reserves for fiction, email addresses are in+the reserved `.example` domain, and ABNs have valid check digits but are not+registered to the examples. The RPA are real types, with illustrative+procedures. After changing an example, write its documents again (a test+checks that they are up to date, where they are: the source distribution+does not hold them). `reoc-examples` is built only with the flag `examples`,+which `cabal.project` turns on:++```+cabal run reoc-examples -- --output examples+```++From GHCi (`cabal repl examples --repl-options=-ignore-dot-ghci`; the `.ghci`+here loads the library from `src`, which only `cabal repl casa-reoc` can):++```haskell+:set -XTemplateHaskell -XOverloadedStrings+import ReOC+import ReOC.Examples+either (Data.Text.IO.putStr . renderReOCErrors) (writeDocuments "/tmp/reoc-example") wattleCreek+either (Data.Text.IO.putStr . renderReOCErrors) (writeFilledDocuments (BuildInfo "abc123" "https://example.net" (read "2026-10-23")) "/tmp/reoc-filled") ironbark+either (Data.Text.IO.putStr . renderReOCErrors) (const (pure ())) draft+```++## Data types++`ReOC` holds:++* `Operator`: the `Company` (a proprietary company: its name, ABN, ARN,+  registered office, operational headquarters, contact details and+  registered business name), its `KeyPersonnel` and its fleet of+  `OperatedType` (a type of RPA, with the facts and type-specific procedures+  that the manual gives for it, and each RPA of that type);+* `ApplicationForm`: the answers to CASA Form 101-02 that appear only on the+  form (primary contact, personnel and regulatory history, documents+  submitted, the declaration);+* `OperationsManual`: the parts of the manual that appear only in the manual+  (amendment record, services, the limits that the operator sets in+  `Policies`, the risk register, whether operations are solo or multi-crew,+  and whether the CRP is the only remote pilot);+* `Maybe TrainingMaterial`: RePL training, if it is applied for: the chief+  RePL instructor, the courses and the `TrainingArrangements` of the RePL+  training manual.++The types of the valid form say what the documents can hold, so that a valid+value gives valid documents:++* The application is always for initial issue; questions that the form's own+  flow skips are not filled (question 3 when the applicant is the primary+  contact, 13 to 18 and 29 without RePL training, 25 and 26 without+  regulatory action), and their answers have no field to hold them.+* Details that the form asks for only after a yes are held by the yes+  (`HistoryDisclosed`, `OtherReOCRolesHeld`, `RegulatoryActionTaken`, ...),+  and question 17 is the intent of each no in questions 14 to 16.+* Each key position holds a person or refers to the holder of another+  position (`CRPIsCEO`, `MCIsCRP`, `CRIIsMC`, ...), so a person who holds+  several positions is given once. The manual's preface, organisational+  overview, organisational diagram, list of key personnel and the section on+  holding several positions follow from who holds what.+* Text that goes on the form is `FormText`, which fits its box: the form has+  a fixed 10 pt font and cuts off text that does not fit. A one-line box+  holds no line breaks, and only characters that the form's fonts can show+  are allowed. Text shared by a box (the details of questions 19 to 22 in+  question 23, the intents of question 17) is given a share of it.+* The fleet has at most 8 types and at most 9 courses, each with its own+  training RPA, so that question 27 (17 rows) and question 29 (9 rows) hold+  them all. The training RPA of each course is listed with the fleet in both+  documents, and the category and weight class of a course are those of its+  training RPA.+* RPA have a maximum gross weight from 1 g to 25 kg (`GrossWeight`): the+  manual does not cover heavier RPA, which also rules out the liquid-fuel+  complexity and the safety case of question 30. Airships are not covered.+* The amendment record is a first issue and revisions: each revision is a+  major or minor revision, a number of months after the entry before it, so+  versions always increase and dates never go backwards. The manual is+  reviewed 12 months after its last amendment, and each risk is reviewed+  within 12 months of its entry (`ReviewMonths`).+* A risk rating comes from the risk rating matrix, and a risk is owned by a+  key position that exists.+* Values with an invariant are primitive types under `ReOC.Primitive`, whose+  constructors are not exported: `Text1` (not blank, and only characters that+  XML can hold), `FormText`, `ABN` (correct check digits), `ARN`,+  `EmailAddress` (which also fits a box of the form), `PhoneNumber`+  (Australian), `Postcode`, `Positive`, `Percentage`, `GrossWeight`,+  `ReviewMonths`, `PassMark` (70% to 100%), `Some n a` (1 to n values) and+  `AtMost n a` (0 to n values). Each is built with a prism (`_ABN`) or a+  literal checked at compile time (`$$(abnLiteral "15 092 285 142")`), and+  is checked when an unfilled form is filled in.++What the types cannot check is meaning: text can say anything, and a person+given twice with the same ARN and different details is two people.++## Classy optics++Every data type follows the classy optics recipe: one module for each data+type under `ReOC.Data` (its class, instances, manifest `lawNamesT'`, synonym+`InheritT'` and checks of inheritance), one module for each name under+`ReOC.Name`, and `ReOC.Model`, which re-exports them all.++A form type is the data type `T'`, with a type parameter for each field+(section 2 of the recipe), and each field's name changes that parameter+alone, so setting a field of an unfilled form keeps it unfilled, and the+same name reads the valid form. Its fields hold type parameters, and nothing+is inherited through a type parameter, so a field is reached by composing+the names of the fields on its path:++```haskell+view (cloneLens (operator . company . companyName)) reoc+preview (operator . keyPersonnel . chiefPilot . rePLOrigin . rePLTrainingOrganisation) reoc+set (operator . keyPersonnel . chiefExecutive . nominee . person . fullName) (Just "Alex") unfilled+```++The data types of errors and paths (`ReOCError`, `Unfilled`, `Step`, ...)+have no parameters, and inherit as usual: `path` is an affine traversal of+every `ReOCError`.++## Documents++* `ReOC.Render.ApplicationForm`: the XFDF of CASA Form 101-02.+* `ReOC.Render.OperationsManual`: the manual, from the template+  `template/rpas-operations-manual.fodt`, read when the package is compiled.+  Each hole `{{legal-name}}` is filled by `holeLegalName` in+  `ReOC.Render.OperationsManual.Holes`; a hole with no function fails to+  compile. The organisational diagram is drawn from the key positions+  (`ReOC.Render.OperationsManual.Diagram`).+* `ReOC.Render.TrainingManual`: the RePL training manual, from the marked-up+  markdown `template/repl-training-manual.md` (holes, `<!-- per-course -->`+  blocks repeated for each course, and conditions on the courses), in the+  shell `template/repl-training-manual.fodt` (the styles, cover and master+  pages of the operations manual). An unknown hole or condition, or a marker+  that is not closed, fails to compile.+* `ReOC.Render.Write`: writes the documents into a directory.++To change the wording of a manual, change its template; to add a variable,+add a field to a data type, a hole to the template and its function.++The table of contents of the operations manual has the page numbers of the+template; LibreOffice does not update them when it converts the manual, so+they are right only while the manual has the length of the template.++## The RePL training manual++The text of the RePL training manual was drafted from AC 101-01, the key+personnel guide for the chief RePL instructor and Form 101-02. The Part 101+MOS and Annex A to AC 101-01 were not available, so before it is submitted:++* every row marked `[MOS: to be confirmed]` needs its Part 101 MOS reference,+  and the unit names must match the MOS;+* the question bank of the theory examinations, which the manual describes+  but does not hold, must be written;+* the pass mark of 70%, the minimum age, the upgrade flight times, the flight+  test tolerances and the general-knowledge content of the theory notes must+  be checked.++## Tests++```+cabal test hedgehog+cabal test doctest -w ghc-9.6.7 --builddir=dist-newstyle-9.6.7+```++The hedgehog tests check the manifest of every data type, the laws of every+lens, prism and affine traversal (including every inherited instance), that+every constructor of each sum is generated, the laws of the prisms of the+primitive types, and of random values of `ReOC`: that every field the form+is filled with is a field of CASA Form 101-02 with a value that checks it,+that every text fits its box, that every document is well-formed XML, that+no hole or marker is left, that the amendment record is in order, that+filling in the unfilled form of a valid value gives it back, and that an+invalid, empty or overfull field gives one error at its own path. The+doctest suite runs the `doctest` executable, which must be built with the+same GHC; a separate build directory keeps the two compilers apart.++`bin/lint.sh` runs hlint and fourmolu (`bin/lint.sh --check` to check only).++The modules under `ReOC.Data` and `ReOC.Name`, `ReOC.Model`, `ReOC.Fill`,+`ReOC.Help`, the module list of `casa-reoc.cabal`, `test/DataGens.hs` and+`test/OpticsTests.hs` are generated from a description of the data types+(with the help text of each field) by scripts that are not in this+repository.
+ casa-reoc.cabal view
@@ -0,0 +1,751 @@+cabal-version:      2.4+name:               casa-reoc+version:            0.1.0.0+license:            BSD-3-Clause+license-file:       LICENCE+author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego>+maintainer:         Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego>+copyright:          Copyright (c) 2026 System F Aerial Operations Pty Ltd+synopsis:           The documents of a CASA ReOC application, as Haskell data types+category:           Aviation+description:+  <<https://logo.systemf.com.au/systemf-450x450.png>>+  .+  The variables of an application to CASA for the initial issue of a+  remotely piloted aircraft operator's certificate (ReOC), of its RPAS+  operations manual and of its RePL training manual, as data types with+  classy optics. A value of @ReOC@ gives a filled CASA Form 101-02 (XFDF), a+  complete operations manual and, with RePL training, a RePL training manual+  (Flat ODF text).+  .+  == Data types+  .+  Every data type is in its own module under @ReOC.Data@, and every name of a+  field or constructor in its own module under @ReOC.Name@, following the+  classy optics recipe. Values that have an invariant (an ABN, a phone+  number, text that is not blank) are primitive types under+  @ReOC.Primitive@, built with a prism or a literal checked at compile time.+  .+  == Documents+  .+  @ReOC.Render.ApplicationForm@ gives the XFDF of CASA Form 101-02,+  @ReOC.Render.OperationsManual@ the operations manual and+  @ReOC.Render.TrainingManual@ the RePL training manual. @ReOC.Render.Write@+  writes them into a directory. The internal library @examples@ holds the+  applications of four made-up operators.++homepage:           https://gitlab.com/system-f/code/casa-reoc+build-type:         Simple+extra-doc-files:    README.md+                    changelog.md+extra-source-files: etc/casa/rpa-operators-certificate-reoc-initial-issue-variation-renewal-form-101-02.pdf+                    examples/signatures/banksia-point.png+                    template/rpas-operations-manual.fodt+                    template/repl-training-manual.fodt+                    template/repl-training-manual.md+tested-with:        GHC == 9.14.1, GHC == 9.12.4, GHC == 9.10.3, GHC == 9.8.4, GHC == 9.6.7++source-repository head+  type:             git+  location:         https://gitlab.com/system-f/code/casa-reoc.git++flag doctest+  description:      Build the doctest test suite, which runs doctest through cabal. It is enabled in cabal.project, and disabled by default so that builds from the source distribution do not need cabal or doctest at test time.+  default:          False+  manual:           True++flag examples+  description:      Build reoc-examples, which writes the documents of the examples into the examples directory of the repository. It is enabled in cabal.project, and disabled by default so that installing the package does not install it.+  default:          False+  manual:           True++library+  default-language:+                    Haskell2010++  build-depends:+                      base              >= 4.18      && < 5+                    , bytestring        >= 0.11.5.4  && < 0.13+                    , directory         >= 1.3.8.5   && < 2+                    , filepath          >= 1.4.301.0 && < 1.6+                    , lens              >= 5.2.1     && < 6+                    , tagged            >= 0.8.6     && < 0.9+                    , template-haskell  >= 2.20      && < 2.25+                    , text              >= 2.0.2     && < 2.2+                    , time              >= 1.12.2    && < 2+                    , validation        >= 1.1.3     && < 1.2++  ghc-options:+                    -Wall+                    -Wcompat+                    -Wincomplete-record-updates+                    -Wincomplete-uni-patterns+                    -Wredundant-constraints+                    -Werror=incomplete-patterns++  hs-source-dirs:+                    src++  exposed-modules:+                    ReOC+                    ReOC.Aircraft+                    ReOC.Amendment+                    ReOC.Data.Address+                    ReOC.Data.Aircraft+                    ReOC.Data.ApplicationForm+                    ReOC.Data.AustralianState+                    ReOC.Data.BackupInterval+                    ReOC.Data.CRINominee+                    ReOC.Data.CRPNominee+                    ReOC.Data.ChiefExecutive+                    ReOC.Data.ChiefPilot+                    ReOC.Data.Company+                    ReOC.Data.Complexity+                    ReOC.Data.Consequence+                    ReOC.Data.ContactPerson+                    ReOC.Data.CourseType+                    ReOC.Data.Crewing+                    ReOC.Data.Declarant+                    ReOC.Data.Declaration+                    ReOC.Data.Directorship+                    ReOC.Data.EmergencyAction+                    ReOC.Data.Equipment+                    ReOC.Data.ExamDelivery+                    ReOC.Data.Field+                    ReOC.Data.FirstIssue+                    ReOC.Data.FlightTermination+                    ReOC.Data.FlightTestExaminer+                    ReOC.Data.HistoryAnswer+                    ReOC.Data.InstructorTakeover+                    ReOC.Data.Invalid+                    ReOC.Data.InvalidValue+                    ReOC.Data.KeyPersonnel+                    ReOC.Data.KeyPosition+                    ReOC.Data.Likelihood+                    ReOC.Data.MCNominee+                    ReOC.Data.Nominee+                    ReOC.Data.OperatedType+                    ReOC.Data.OperationalExperience+                    ReOC.Data.OperationalHeadquarters+                    ReOC.Data.OperationsManual+                    ReOC.Data.Operator+                    ReOC.Data.OtherReOCRoles+                    ReOC.Data.Person+                    ReOC.Data.PersonnelHistory+                    ReOC.Data.Policies+                    ReOC.Data.PrimaryContact+                    ReOC.Data.RPACategory+                    ReOC.Data.RPAType+                    ReOC.Data.RadioQualification+                    ReOC.Data.ReOC+                    ReOC.Data.ReOCError+                    ReOC.Data.RePLHolding+                    ReOC.Data.RePLOrigin+                    ReOC.Data.RegulatoryAction+                    ReOC.Data.RegulatoryHistory+                    ReOC.Data.RemotePilots+                    ReOC.Data.Revision+                    ReOC.Data.Risk+                    ReOC.Data.RiskAssessment+                    ReOC.Data.RiskLevel+                    ReOC.Data.Step+                    ReOC.Data.TeachingQualification+                    ReOC.Data.TheoryDelivery+                    ReOC.Data.TooMany+                    ReOC.Data.TrainingArrangements+                    ReOC.Data.TrainingCourse+                    ReOC.Data.TrainingMaterial+                    ReOC.Data.Transponder+                    ReOC.Data.Unfilled+                    ReOC.Data.Version+                    ReOC.Data.VersionChange+                    ReOC.Data.WrittenSignature+                    ReOC.Fill+                    ReOC.Help+                    ReOC.Input+                    ReOC.Model+                    ReOC.Name.Abn+                    ReOC.Name.ActionDate+                    ReOC.Name.ActionDetails+                    ReOC.Name.ActionSteps+                    ReOC.Name.ActionTaken+                    ReOC.Name.AdditionalControls+                    ReOC.Name.AddressPostcode+                    ReOC.Name.AddressStateOrTerritory+                    ReOC.Name.AddressStreetAddress+                    ReOC.Name.AddressSuburb+                    ReOC.Name.Aeroplane+                    ReOC.Name.AircraftAssociatedEquipment+                    ReOC.Name.AircraftSerialNumber+                    ReOC.Name.Airframes+                    ReOC.Name.AlcoholHours+                    ReOC.Name.ApplicantIsPrimaryContact+                    ReOC.Name.ApplicationForm+                    ReOC.Name.ApplicationFormDeclaration+                    ReOC.Name.ApplicationFormOtherDocuments+                    ReOC.Name.ApplicationFormPersonnelHistory+                    ReOC.Name.ApplicationFormPrimaryContact+                    ReOC.Name.ApplicationFormProceduresLibrary+                    ReOC.Name.ApplicationFormRegulatoryHistory+                    ReOC.Name.ApplicationFormSignature+                    ReOC.Name.Arn+                    ReOC.Name.AssociatedEquipment+                    ReOC.Name.AtRegisteredOffice+                    ReOC.Name.AustralianCapitalTerritory+                    ReOC.Name.AuthorisationAction+                    ReOC.Name.AutomatedAndManual+                    ReOC.Name.AutomatedOnly+                    ReOC.Name.AviationExperience+                    ReOC.Name.BackupFrequency+                    ReOC.Name.BatteryReserve+                    ReOC.Name.BatteryWarnings+                    ReOC.Name.BeforeFlight+                    ReOC.Name.BlendedTheory+                    ReOC.Name.BusinessName+                    ReOC.Name.Catastrophic+                    ReOC.Name.Category+                    ReOC.Name.CheckingMonths+                    ReOC.Name.ChiefExecutive+                    ReOC.Name.ChiefExecutiveDirectorStatus+                    ReOC.Name.ChiefExecutiveManagementExperience+                    ReOC.Name.ChiefExecutiveNominee+                    ReOC.Name.ChiefExecutiveOfficer+                    ReOC.Name.ChiefPilot+                    ReOC.Name.ChiefPilotCrpNominee+                    ReOC.Name.ChiefPilotOtherReOCRoles+                    ReOC.Name.ChiefPilotRadio+                    ReOC.Name.ChiefPilotRePLOrigin+                    ReOC.Name.ChiefPilotRpaHistory+                    ReOC.Name.ChiefRemotePilot+                    ReOC.Name.ClassroomTheory+                    ReOC.Name.Company+                    ReOC.Name.CompanyAbn+                    ReOC.Name.CompanyArn+                    ReOC.Name.CompanyBusinessName+                    ReOC.Name.CompanyCompanyName+                    ReOC.Name.CompanyEmailAddress+                    ReOC.Name.CompanyName+                    ReOC.Name.CompanyOperationalHeadquarters+                    ReOC.Name.CompanyPhoneNumber+                    ReOC.Name.CompanyRegisteredOffice+                    ReOC.Name.Complexities+                    ReOC.Name.ComputerExamination+                    ReOC.Name.ContactPersonEmailAddress+                    ReOC.Name.ContactPersonFullName+                    ReOC.Name.ContactPersonPhoneNumber+                    ReOC.Name.ContactPersonPosition+                    ReOC.Name.CourseKind+                    ReOC.Name.Crew+                    ReOC.Name.CriConductsFlightTests+                    ReOC.Name.CriIsCEO+                    ReOC.Name.CriIsCRP+                    ReOC.Name.CriIsMC+                    ReOC.Name.CriNominated+                    ReOC.Name.CriNominee+                    ReOC.Name.CriNomineeCriIsCEO+                    ReOC.Name.CriNomineeCriIsCRP+                    ReOC.Name.CriNomineeCriIsMC+                    ReOC.Name.CriNomineeCriNominated+                    ReOC.Name.CriOtherReOCRoles+                    ReOC.Name.CriminalConviction+                    ReOC.Name.CrpIsCEO+                    ReOC.Name.CrpIsOnlyRemotePilot+                    ReOC.Name.CrpNominated+                    ReOC.Name.CrpNominee+                    ReOC.Name.CrpNomineeCrpIsCEO+                    ReOC.Name.CrpNomineeCrpNominated+                    ReOC.Name.Daily+                    ReOC.Name.DateEntered+                    ReOC.Name.DeclarantFullName+                    ReOC.Name.DeclarantRole+                    ReOC.Name.Declaration+                    ReOC.Name.DeclarationDeclaredByAgent+                    ReOC.Name.DeclarationDeclaredByCEO+                    ReOC.Name.DeclarationDeclaredByOther+                    ReOC.Name.DeclarationDeclaredByResponsibleManager+                    ReOC.Name.DeclaredByAgent+                    ReOC.Name.DeclaredByCEO+                    ReOC.Name.DeclaredByOther+                    ReOC.Name.DeclaredByResponsibleManager+                    ReOC.Name.Details+                    ReOC.Name.Director+                    ReOC.Name.DirectorStatus+                    ReOC.Name.DualControllerLink+                    ReOC.Name.DutyHours+                    ReOC.Name.Effective+                    ReOC.Name.EmailAddress+                    ReOC.Name.EmergencyActionActionSteps+                    ReOC.Name.EmergencyActionResponse+                    ReOC.Name.EmergencyActionSituation+                    ReOC.Name.EmergencyActions+                    ReOC.Name.EquipmentDescription+                    ReOC.Name.EquipmentEquipmentDescription+                    ReOC.Name.EquipmentSerialNumber+                    ReOC.Name.Exam+                    ReOC.Name.ExamPassMark+                    ReOC.Name.Examiner+                    ReOC.Name.ExistingControls+                    ReOC.Name.ExtremelyImprobable+                    ReOC.Name.FirstIssue+                    ReOC.Name.FirstIssueDetails+                    ReOC.Name.FirstIssueEffective+                    ReOC.Name.FirstIssueIssueDate+                    ReOC.Name.FirstIssueParts+                    ReOC.Name.FirstIssueVersion+                    ReOC.Name.Fleet+                    ReOC.Name.FlightCrewLicence+                    ReOC.Name.FlightTermination+                    ReOC.Name.FlightTerminationFlightTerminationSystem+                    ReOC.Name.FlightTerminationNoFlightTerminationSystem+                    ReOC.Name.FlightTerminationSystem+                    ReOC.Name.Frequent+                    ReOC.Name.FullName+                    ReOC.Name.GivenElements+                    ReOC.Name.HasOperationalExperience+                    ReOC.Name.Hazard+                    ReOC.Name.Hazardous+                    ReOC.Name.Helicopter+                    ReOC.Name.High+                    ReOC.Name.HistoryAnswerHistoryDisclosed+                    ReOC.Name.HistoryAnswerNoHistory+                    ReOC.Name.HistoryDisclosed+                    ReOC.Name.HoldsRePLForEachType+                    ReOC.Name.Improbable+                    ReOC.Name.IndependentExaminerWhereAvailable+                    ReOC.Name.IndependentReviewYears+                    ReOC.Name.InitialCourse+                    ReOC.Name.InitialRisk+                    ReOC.Name.InspectionHours+                    ReOC.Name.InspectionItems+                    ReOC.Name.InspectionMonths+                    ReOC.Name.InvalidABN+                    ReOC.Name.InvalidARN+                    ReOC.Name.InvalidEmailAddress+                    ReOC.Name.InvalidFormText+                    ReOC.Name.InvalidGrossWeight+                    ReOC.Name.InvalidPassMark+                    ReOC.Name.InvalidPercentage+                    ReOC.Name.InvalidPhoneNumber+                    ReOC.Name.InvalidPositive+                    ReOC.Name.InvalidPostcode+                    ReOC.Name.InvalidReviewMonths+                    ReOC.Name.InvalidText1+                    ReOC.Name.IssueDate+                    ReOC.Name.KeyPersonnel+                    ReOC.Name.KeyPersonnelChiefExecutive+                    ReOC.Name.KeyPersonnelChiefPilot+                    ReOC.Name.KeyPersonnelMcNominee+                    ReOC.Name.Low+                    ReOC.Name.MaintenanceController+                    ReOC.Name.MajorRevision+                    ReOC.Name.MajorVersion+                    ReOC.Name.ManagementExperience+                    ReOC.Name.MaxStudentsPerCourse+                    ReOC.Name.MaxStudentsPerInstructor+                    ReOC.Name.MaximumGrossWeight+                    ReOC.Name.MaybeTrainingMaterial+                    ReOC.Name.McIsCEO+                    ReOC.Name.McIsCRP+                    ReOC.Name.McNominated+                    ReOC.Name.McNominee+                    ReOC.Name.McNomineeMcIsCEO+                    ReOC.Name.McNomineeMcIsCRP+                    ReOC.Name.McNomineeMcNominated+                    ReOC.Name.Medium+                    ReOC.Name.Minor+                    ReOC.Name.MinorRevision+                    ReOC.Name.MinorVersion+                    ReOC.Name.Moderate+                    ReOC.Name.Monthly+                    ReOC.Name.MonthsAfter+                    ReOC.Name.MostElements+                    ReOC.Name.Multirotor+                    ReOC.Name.Negligible+                    ReOC.Name.NewSouthWales+                    ReOC.Name.NoFlightTerminationSystem+                    ReOC.Name.NoHistory+                    ReOC.Name.NoOtherReOCRoles+                    ReOC.Name.NoRadioQualification+                    ReOC.Name.NoRegulatoryAction+                    ReOC.Name.NoTransponder+                    ReOC.Name.Nominee+                    ReOC.Name.NomineeAviationExperience+                    ReOC.Name.NomineeOtherQualifications+                    ReOC.Name.NomineePerson+                    ReOC.Name.NorthernTerritory+                    ReOC.Name.NotADirector+                    ReOC.Name.Occasional+                    ReOC.Name.OnlineTheory+                    ReOC.Name.OperatedTypeAirframes+                    ReOC.Name.OperatedTypeRpaType+                    ReOC.Name.OperationalExperience+                    ReOC.Name.OperationalExperienceHasOperationalExperience+                    ReOC.Name.OperationalExperienceIntent+                    ReOC.Name.OperationalExperienceNotApplicable+                    ReOC.Name.OperationalExperienceOperationalExperienceIntent+                    ReOC.Name.OperationalExperienceOperationalExperienceNotApplicable+                    ReOC.Name.OperationalHeadquarters+                    ReOC.Name.OperationalHeadquartersAddress+                    ReOC.Name.OperationalHeadquartersAtRegisteredOffice+                    ReOC.Name.OperationalHeadquartersOperationalHeadquartersAddress+                    ReOC.Name.OperationsManual+                    ReOC.Name.OperationsManualCrew+                    ReOC.Name.OperationsManualFirstIssue+                    ReOC.Name.OperationsManualPilots+                    ReOC.Name.OperationsManualPolicies+                    ReOC.Name.OperationsManualRevisions+                    ReOC.Name.OperationsManualRiskRegister+                    ReOC.Name.OperationsManualServices+                    ReOC.Name.Operator+                    ReOC.Name.OperatorCompany+                    ReOC.Name.OperatorFleet+                    ReOC.Name.OperatorKeyPersonnel+                    ReOC.Name.OtherDocuments+                    ReOC.Name.OtherQualifications+                    ReOC.Name.OtherReOCRoles+                    ReOC.Name.OtherReOCRolesHeld+                    ReOC.Name.OtherReOCRolesNoOtherReOCRoles+                    ReOC.Name.OtherReOCRolesOtherReOCRolesHeld+                    ReOC.Name.OtherRemotePilots+                    ReOC.Name.PaperExamination+                    ReOC.Name.Parts+                    ReOC.Name.Path+                    ReOC.Name.Person+                    ReOC.Name.PersonArn+                    ReOC.Name.PersonEmailAddress+                    ReOC.Name.PersonFullName+                    ReOC.Name.PersonPhoneNumber+                    ReOC.Name.PersonnelHistory+                    ReOC.Name.PersonnelHistoryActionTaken+                    ReOC.Name.PersonnelHistoryCriminalConviction+                    ReOC.Name.PersonnelHistorySuspensionPending+                    ReOC.Name.PersonnelHistoryTransportLicenceRefused+                    ReOC.Name.PhoneNumber+                    ReOC.Name.Pilots+                    ReOC.Name.Policies+                    ReOC.Name.PoliciesAlcoholHours+                    ReOC.Name.PoliciesBackupFrequency+                    ReOC.Name.PoliciesBatteryReserve+                    ReOC.Name.PoliciesCheckingMonths+                    ReOC.Name.PoliciesDutyHours+                    ReOC.Name.PoliciesIndependentReviewYears+                    ReOC.Name.PoliciesInspectionHours+                    ReOC.Name.PoliciesInspectionMonths+                    ReOC.Name.PoliciesRecencyDays+                    ReOC.Name.PoliciesRecencyFlights+                    ReOC.Name.PoliciesRefresherMonths+                    ReOC.Name.PoliciesRestHours+                    ReOC.Name.Position+                    ReOC.Name.Postcode+                    ReOC.Name.PoweredLift+                    ReOC.Name.PplTheory+                    ReOC.Name.PracticalAreas+                    ReOC.Name.PrimaryContact+                    ReOC.Name.PrimaryContactApplicantIsPrimaryContact+                    ReOC.Name.PrimaryContactPerson+                    ReOC.Name.PrimaryContactPrimaryContactPerson+                    ReOC.Name.ProceduresLibrary+                    ReOC.Name.Queensland+                    ReOC.Name.Radio+                    ReOC.Name.RadioOperatorCertificate+                    ReOC.Name.ReOCApplicationForm+                    ReOC.Name.ReOCMaybeTrainingMaterial+                    ReOC.Name.ReOCOperationsManual+                    ReOC.Name.ReOCOperator+                    ReOC.Name.RePLHolding+                    ReOC.Name.RePLHoldingHoldsRePLForEachType+                    ReOC.Name.RePLHoldingIntent+                    ReOC.Name.RePLHoldingRePLHoldingIntent+                    ReOC.Name.RePLOrigin+                    ReOC.Name.RePLOriginPplTheory+                    ReOC.Name.RePLOriginRePLTrainingOrganisation+                    ReOC.Name.RePLTrainingOrganisation+                    ReOC.Name.RecencyDays+                    ReOC.Name.RecencyFlights+                    ReOC.Name.RefresherMonths+                    ReOC.Name.RegisteredOffice+                    ReOC.Name.RegulatoryActionActionDate+                    ReOC.Name.RegulatoryActionActionDetails+                    ReOC.Name.RegulatoryActionAuthorisationAction+                    ReOC.Name.RegulatoryActionReocSuspendedOrCancelled+                    ReOC.Name.RegulatoryActionTaken+                    ReOC.Name.RegulatoryActionTypeOfAction+                    ReOC.Name.RegulatoryHistory+                    ReOC.Name.RegulatoryHistoryNoRegulatoryAction+                    ReOC.Name.RegulatoryHistoryRegulatoryActionTaken+                    ReOC.Name.Remote+                    ReOC.Name.ReocSuspendedOrCancelled+                    ReOC.Name.ResidualRisk+                    ReOC.Name.Response+                    ReOC.Name.RestHours+                    ReOC.Name.ReviewMonths+                    ReOC.Name.RevisionDetails+                    ReOC.Name.RevisionEffective+                    ReOC.Name.RevisionMonthsAfter+                    ReOC.Name.RevisionParts+                    ReOC.Name.RevisionVersionIncrement+                    ReOC.Name.Revisions+                    ReOC.Name.RiskAdditionalControls+                    ReOC.Name.RiskAssessmentRiskConsequence+                    ReOC.Name.RiskAssessmentRiskLikelihood+                    ReOC.Name.RiskConsequence+                    ReOC.Name.RiskDateEntered+                    ReOC.Name.RiskDescription+                    ReOC.Name.RiskExistingControls+                    ReOC.Name.RiskHazard+                    ReOC.Name.RiskInitialRisk+                    ReOC.Name.RiskLikelihood+                    ReOC.Name.RiskOwner+                    ReOC.Name.RiskRegister+                    ReOC.Name.RiskResidualRisk+                    ReOC.Name.RiskReviewMonths+                    ReOC.Name.RiskRiskDescription+                    ReOC.Name.RiskRiskOwner+                    ReOC.Name.Role+                    ReOC.Name.RpaHistory+                    ReOC.Name.RpaMake+                    ReOC.Name.RpaModel+                    ReOC.Name.RpaType+                    ReOC.Name.RpaTypeBatteryWarnings+                    ReOC.Name.RpaTypeBeforeFlight+                    ReOC.Name.RpaTypeCategory+                    ReOC.Name.RpaTypeEmergencyActions+                    ReOC.Name.RpaTypeFlightTermination+                    ReOC.Name.RpaTypeInspectionItems+                    ReOC.Name.RpaTypeMaximumGrossWeight+                    ReOC.Name.RpaTypeRpaMake+                    ReOC.Name.RpaTypeRpaModel+                    ReOC.Name.RpaTypeShortName+                    ReOC.Name.RpaTypeTransponderCarriage+                    ReOC.Name.RpaTypeUserManual+                    ReOC.Name.SerialNumber+                    ReOC.Name.Services+                    ReOC.Name.SharedController+                    ReOC.Name.ShortName+                    ReOC.Name.Signature+                    ReOC.Name.Simulator+                    ReOC.Name.Situation+                    ReOC.Name.SoleDirector+                    ReOC.Name.SoloAndMultiCrewOperations+                    ReOC.Name.SoloOperationsOnly+                    ReOC.Name.SouthAustralia+                    ReOC.Name.StateOrTerritory+                    ReOC.Name.StepIndex+                    ReOC.Name.StreetAddress+                    ReOC.Name.Suburb+                    ReOC.Name.SuspensionPending+                    ReOC.Name.Takeover+                    ReOC.Name.Tasmania+                    ReOC.Name.TeachingQualification+                    ReOC.Name.TeachingQualificationHeld+                    ReOC.Name.TeachingQualificationIntent+                    ReOC.Name.TeachingQualificationTeachingQualificationHeld+                    ReOC.Name.TeachingQualificationTeachingQualificationIntent+                    ReOC.Name.Theory+                    ReOC.Name.TheoryVenues+                    ReOC.Name.TrainingArrangements+                    ReOC.Name.TrainingArrangementsExam+                    ReOC.Name.TrainingArrangementsExamPassMark+                    ReOC.Name.TrainingArrangementsExaminer+                    ReOC.Name.TrainingArrangementsMaxStudentsPerCourse+                    ReOC.Name.TrainingArrangementsMaxStudentsPerInstructor+                    ReOC.Name.TrainingArrangementsPracticalAreas+                    ReOC.Name.TrainingArrangementsSimulator+                    ReOC.Name.TrainingArrangementsTakeover+                    ReOC.Name.TrainingArrangementsTheory+                    ReOC.Name.TrainingArrangementsTheoryVenues+                    ReOC.Name.TrainingCourseComplexities+                    ReOC.Name.TrainingCourseCourseKind+                    ReOC.Name.TrainingCourseTrainingRPA+                    ReOC.Name.TrainingCourses+                    ReOC.Name.TrainingMaterialCriNominee+                    ReOC.Name.TrainingMaterialCriOtherReOCRoles+                    ReOC.Name.TrainingMaterialOperationalExperience+                    ReOC.Name.TrainingMaterialRePLHolding+                    ReOC.Name.TrainingMaterialTeachingQualification+                    ReOC.Name.TrainingMaterialTrainingArrangements+                    ReOC.Name.TrainingMaterialTrainingCourses+                    ReOC.Name.TrainingRPA+                    ReOC.Name.TransponderCarriage+                    ReOC.Name.TransponderFitted+                    ReOC.Name.TransportLicenceRefused+                    ReOC.Name.TypeOfAction+                    ReOC.Name.UpgradeDifferentCategory+                    ReOC.Name.UpgradeSameCategory+                    ReOC.Name.UserManual+                    ReOC.Name.Version+                    ReOC.Name.VersionIncrement+                    ReOC.Name.VersionMajorVersion+                    ReOC.Name.VersionMinorVersion+                    ReOC.Name.Victoria+                    ReOC.Name.Weekly+                    ReOC.Name.WesternAustralia+                    ReOC.Name.WrittenSignatureFile+                    ReOC.Name.WrittenSignatureImage+                    ReOC.Name.WrittenSignatureWrittenSignatureFile+                    ReOC.Name.WrittenSignatureWrittenSignatureImage+                    ReOC.Personnel+                    ReOC.Primitive.ABN+                    ReOC.Primitive.ARN+                    ReOC.Primitive.AtMost+                    ReOC.Primitive.EmailAddress+                    ReOC.Primitive.FormFont+                    ReOC.Primitive.FormText+                    ReOC.Primitive.GrossWeight+                    ReOC.Primitive.PassMark+                    ReOC.Primitive.Percentage+                    ReOC.Primitive.PhoneNumber+                    ReOC.Primitive.Positive+                    ReOC.Primitive.Postcode+                    ReOC.Primitive.ReviewMonths+                    ReOC.Primitive.Some+                    ReOC.Primitive.Text1+                    ReOC.Render.ApplicationForm+                    ReOC.Render.Base64+                    ReOC.Render.BlankForm+                    ReOC.Render.BuildInfo+                    ReOC.Render.Embed+                    ReOC.Render.Error+                    ReOC.Render.Markdown+                    ReOC.Render.Markdown.Block+                    ReOC.Render.Odf+                    ReOC.Render.OperationsManual+                    ReOC.Render.OperationsManual.Diagram+                    ReOC.Render.OperationsManual.Holes+                    ReOC.Render.Template+                    ReOC.Render.Text+                    ReOC.Render.TrainingManual+                    ReOC.Render.TrainingManual.Body+                    ReOC.Render.TrainingManual.Chunk+                    ReOC.Render.TrainingManual.Embed+                    ReOC.Render.TrainingManual.Holes+                    ReOC.Render.TrainingManual.Markup+                    ReOC.Render.Write+                    ReOC.Risk++-- Example applications of made-up operators.+library examples+  default-language:+                    Haskell2010++  build-depends:+                      base              >= 4.18      && < 5+                    , lens              >= 5.2.1     && < 6+                    , casa-reoc+                    , text              >= 2.0.2     && < 2.2+                    , time              >= 1.12.2    && < 2++  ghc-options:+                    -Wall+                    -Wcompat+                    -Wincomplete-record-updates+                    -Wincomplete-uni-patterns+                    -Wredundant-constraints+                    -Werror=incomplete-patterns++  hs-source-dirs:+                    examples/src++  exposed-modules:+                    ReOC.Example.Aircraft+                    ReOC.Example.BanksiaPoint+                    ReOC.Example.Draft+                    ReOC.Example.Ironbark+                    ReOC.Example.Policies+                    ReOC.Example.Risk+                    ReOC.Example.Saltbush+                    ReOC.Example.WattleCreek+                    ReOC.Examples++-- Writes the documents of each example into examples.+executable reoc-examples+  if !flag(examples)+    buildable:      False++  main-is:+                    write-examples.hs++  default-language:+                    Haskell2010++  build-depends:+                      base              >= 4.18      && < 5+                    , examples+                    , filepath          >= 1.4.301.0 && < 1.6+                    , casa-reoc+                    , text              >= 2.0.2     && < 2.2++  ghc-options:+                    -Wall+                    -Wcompat+                    -Wincomplete-record-updates+                    -Wincomplete-uni-patterns++  hs-source-dirs:+                    examples++test-suite hedgehog+  type:+                    exitcode-stdio-1.0++  main-is:+                    hedgehog_tests.hs++  other-modules:+                    DataGens+                    FormFields+                    Laws+                    OpticsTests+                    PrimitiveGens+                    RenderTests++  default-language:+                    Haskell2010++  build-depends:+                      base              >= 4.18      && < 5+                    , containers        >= 0.6.7     && < 0.9+                    , bytestring        >= 0.11.5.4  && < 0.13+                    , directory         >= 1.3.8.5   && < 2+                    , examples+                    , filepath          >= 1.4.301.0 && < 1.6+                    , hedgehog          >= 1.2       && < 2+                    , lens              >= 5.2.1     && < 6+                    , casa-reoc+                    , text              >= 2.0.2     && < 2.2+                    , time              >= 1.12.2    && < 2+                    , xml-conduit       >= 1.9       && < 1.11++  ghc-options:+                    -Wall+                    -threaded+                    -rtsopts+                    "-with-rtsopts=-N"++  hs-source-dirs:+                    test++test-suite doctest+  type:+                    exitcode-stdio-1.0++  if !flag(doctest)+    buildable:      False++  main-is:+                    doctest_tests.hs++  default-language:+                    Haskell2010++  build-depends:+                      base    >= 4.18     && < 5+                    , process >= 1.6.19.0 && < 2+                    , casa-reoc++  ghc-options:+                    -Wall+                    -threaded++  hs-source-dirs:+                    test
+ changelog.md view
@@ -0,0 +1,40 @@+# Changelog++## 0.1.0.0++* The variables of a ReOC initial issue application, its RPAS operations+  manual and its RePL training manual as data types with classy optics,+  following the classy optics recipe: one module for each data type and each+  name, manifests, checks of inheritance, and `ReOC.Model`, which re-exports+  them+* Filling in field by field: every form type has a valid and an unfilled+  form (one type parameter for each field), with the same optics;+  `fillReOC` gives the valid `ReOC` or every error at the path of its field+  (`ReOCError`: unfilled, invalid or too many), with the help text of each+  field (`ReOC.Help`), and `unfillReOC` the unfilled form of a valid one+* Primitive types with invariants (`Text1`, `FormText`, `ABN`, `ARN`,+  `EmailAddress`, `PhoneNumber`, `Postcode`, `Positive`, `Percentage`,+  `GrossWeight`, `ReviewMonths`, `PassMark`, `Some`, `AtMost`), each with a+  prism and, for values, a literal checked at compile time+* Key positions held by one or several people, several types of RPA with+  their type-specific procedures, solo and multi-crew operations, and remote+  pilots other than the chief remote pilot+* Text on the form fits its box, and every document is well-formed XML+* An amendment record whose versions increase and dates keep their order,+  and reviews within 12 months+* `ReOC.Render.ApplicationForm`: CASA Form 101-02 as XFDF+* `ReOC.Render.OperationsManual`: the operations manual from a template read+  at compile time, with a function for each hole, and its organisational+  diagram drawn from the key positions+* `ReOC.Render.TrainingManual`: the RePL training manual from marked-up+  markdown read and checked at compile time+* `ReOC.Render.BlankForm`: the blank CASA Form 101-02, read from `etc/casa`+  when the package is compiled, which `writeDocuments` writes beside the+  XFDF that names it, with the written signature of the declarant+  (`WrittenSignature`: its contents, or the path of its file)+* `ReOC.Render.BuildInfo`: fills the placeholders of the document build+* `examples`: the applications of four made-up operators and their+  documents, and `reoc-examples`, which writes them+* hedgehog tests of the laws of every optic, the coverage of every sum, the+  fields of the form and their boxes, the well-formedness of the documents;+  doctests
+ etc/casa/rpa-operators-certificate-reoc-initial-issue-variation-renewal-form-101-02.pdf view

binary file changed (absent → 1374117 bytes)

+ examples/signatures/banksia-point.png view

binary file changed (absent → 44212 bytes)

+ examples/src/ReOC/Example/Aircraft.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -Wall #-}++{- | Types of RPA that the examples operate, with their type-specific+procedures, as unfilled forms filled in with their optics. The makes, models+and weights are of real RPA; the procedures are illustrative, and an operator+writes its own from the manufacturer's current manual.+-}+module ReOC.Example.Aircraft (+  djiMavic3Pro,+  djiMavic3Thermal,+  djiMavic3Multispectral,+  djiMavic3Classic,+  djiMatrice30T,+  djiMatrice350RTK,+  wingtraOneGenII,+  agEagleEBeeX,+  operatedType,+  aircraft,+  equipment,+) where++import Control.Lens ((&), (.~), (?~))+import Data.Text (Text)+import ReOC.Model++-- | A type of RPA that the operator operates, with each RPA of that type.+operatedType :: UnfilledRPAType -> [UnfilledAircraft] -> UnfilledOperatedType+operatedType t rpa =+  mkUnfilledOperatedType+    & rpaType .~ t+    & airframes .~ rpa++-- | An RPA with its serial number and associated equipment.+aircraft :: Text -> [UnfilledEquipment] -> UnfilledAircraft+aircraft serial things =+  mkUnfilledAircraft+    & serialNumber ?~ serial+    & associatedEquipment .~ things++-- | An item of equipment with its serial number.+equipment :: Text -> Text -> UnfilledEquipment+equipment description serial =+  mkUnfilledEquipment+    & equipmentDescription ?~ description+    & serialNumber ?~ serial++-- An emergency action: the situation, what the RPA does, and the remote pilot's further steps.+emergencyAction :: Text -> Text -> [Text] -> UnfilledEmergencyAction+emergencyAction s r steps =+  mkUnfilledEmergencyAction+    & situation ?~ s+    & response ?~ r+    & actionSteps .~ steps++-- A multirotor of DJI, with the inspection items, before-flight requirements, battery warnings and emergency actions+-- that DJI's multirotors share.+djiMultirotor :: Text -> Text -> Text -> UnfilledRPAType+djiMultirotor model short manual =+  mkUnfilledRPAType+    & rpaMake ?~ "DJI"+    & rpaModel ?~ model+    & shortName ?~ short+    & category ?~ Multirotor+    & userManual ?~ manual+    & transponderCarriage ?~ NoTransponder+    & flightTermination ?~ NoFlightTerminationSystem+    & inspectionItems .~ djiInspectionItems+    & beforeFlight .~ djiBeforeFlight+    & batteryWarnings ?~ "The RPA warns when the remaining battery is only enough to return home, returns home automatically unless the RP cancels it, and lands automatically at critical low battery."+    & emergencyActions .~ djiEmergencyActions++-- The inspection items of a DJI multirotor.+djiInspectionItems :: [Text]+djiInspectionItems =+  [ "the airframe and its arms, including the folding joints and locks"+  , "motors, by turning each by hand to check for roughness"+  , "propellers and propeller mounts"+  , "gimbal, camera and vibration dampers"+  , "vision and infrared sensors"+  , "batteries (cycle count, cell voltage balance, swelling and damage to the case or terminals)"+  , "remote controller, its antennas and its charging equipment"+  , "firmware versions of the RPA, remote controller and batteries"+  ]++-- The before-flight requirements of a DJI multirotor.+djiBeforeFlight :: [Text]+djiBeforeFlight =+  [ "Set the RTH altitude so that the RPA will clear every obstacle between the operating area and the home point, and confirm that the home point has been recorded before take-off."+  , "Confirm that the signal-lost action is set to Return to Home."+  , "Check the compass and IMU status in DJI Pilot or DJI Fly, and calibrate the compass if the app asks for it, away from metal structures and vehicles."+  ]++-- The emergency actions of a DJI multirotor.+djiEmergencyActions :: [UnfilledEmergencyAction]+djiEmergencyActions =+  [ emergencyAction+      "Loss of command link"+      "the RPA performs its signal-lost action, Return to Home, climbing to the RTH altitude and flying to the home point. The RP must:"+      [ "keep visual contact with the RPA and move to improve the link"+      , "when the link is restored, cancel RTH and take control if the return path or landing point is unsafe"+      ]+  , emergencyAction+      "Critical low battery landing"+      "the RPA descends and lands where it is. The RP must use the throttle and controls to move the RPA, as it descends, to the nearest place clear of people and obstacles."+      []+  , emergencyAction+      "Loss of GNSS"+      "the RPA changes to ATTI mode, does not hold its position and drifts with the wind. The RP must fly the RPA manually by visual reference, keep it clear of obstacles and people, and land as soon as practicable."+      []+  , emergencyAction+      "Compass or IMU error in flight"+      "the app warns of the error and the RPA may change to ATTI mode. The RP must fly the RPA manually away from metal structures and land as soon as practicable."+      []+  ]++-- | The DJI Mavic 3 Pro, for aerial photography and videography.+djiMavic3Pro :: UnfilledRPAType+djiMavic3Pro =+  djiMultirotor "Mavic 3 Pro" "DJI Mavic 3 Pro" "DJI Mavic 3 Pro User Manual"+    & maximumGrossWeight ?~ 958++-- | The DJI Mavic 3 Thermal, for close visual and thermal inspection.+djiMavic3Thermal :: UnfilledRPAType+djiMavic3Thermal =+  djiMultirotor "Mavic 3 Thermal" "DJI Mavic 3T" "DJI Mavic 3 Enterprise Series User Manual"+    & maximumGrossWeight ?~ 1050++-- | The DJI Mavic 3 Multispectral, for crop and pasture surveys.+djiMavic3Multispectral :: UnfilledRPAType+djiMavic3Multispectral =+  djiMultirotor "Mavic 3 Multispectral" "DJI Mavic 3M" "DJI Mavic 3 Multispectral User Manual"+    & maximumGrossWeight ?~ 1050+    & inspectionItems .~ djiInspectionItems <> ["the sunlight sensor on top of the RPA, which must be clean and unobstructed"]+    & beforeFlight+      .~ djiBeforeFlight+        <> [ "Before a mapping mission, check the mission altitude, overlap and boundary in DJI Pilot 2 against the site plan, and that the mission stays inside the operating area."+           , "Set the action on completion of the mission to Return to Home, and the action on loss of signal to continue the mission only where the whole mission is within VLOS."+           ]++-- | The DJI Mavic 3 Classic, a training RPA for multirotor RePL courses.+djiMavic3Classic :: UnfilledRPAType+djiMavic3Classic =+  djiMultirotor "Mavic 3 Classic" "DJI Mavic 3 Classic" "DJI Mavic 3 Classic User Manual"+    & maximumGrossWeight ?~ 895+    & beforeFlight+      .~ djiBeforeFlight+        <> ["For a training flight, the instructor confirms that obstacle avoidance is set for the exercise, and briefs the student on when the instructor will take control."]++-- | The DJI Matrice 30T, for inspection, and as a training RPA for multirotor RePL courses.+djiMatrice30T :: UnfilledRPAType+djiMatrice30T =+  djiMultirotor "Matrice 30T" "DJI Matrice 30T" "DJI Matrice 30 Series User Manual"+    & maximumGrossWeight ?~ 3998+    & beforeFlight+      .~ djiBeforeFlight+        <> ["Check that both TB30 batteries are fitted and locked, and that their charge differs by no more than the manual allows."]++-- | The DJI Matrice 350 RTK, a medium multirotor for inspection and survey payloads.+djiMatrice350RTK :: UnfilledRPAType+djiMatrice350RTK =+  djiMultirotor "Matrice 350 RTK" "DJI M350 RTK" "DJI Matrice 350 RTK User Manual"+    & maximumGrossWeight ?~ 9200+    & inspectionItems+      .~ djiInspectionItems+        <> [ "the payload mount (DJI SkyPort) and the payload, which must be locked"+           , "the RTK module and its antennas"+           ]+    & beforeFlight+      .~ djiBeforeFlight+        <> [ "Check that both TB65 batteries are fitted and locked, and that the payload is secure in its mount."+           , "Where RTK positioning is used, confirm an RTK FIX before take-off. Do not rely on RTK for separation from obstacles."+           , "Check AirSense (ADS-B In) is enabled, and respond to its warnings of crewed aircraft as for any other conflicting traffic."+           ]+    & emergencyActions+      .~ djiEmergencyActions+        <> [ emergencyAction+              "Loss of a motor or propeller"+              "the RPA may not hold its height or heading. The RP must fly the RPA away from people, descend and land immediately, and treat the RPA as unserviceable until the MC has inspected it."+              []+           ]++-- | The WingtraOne GEN II, a VTOL tail-sitter for mapping.+wingtraOneGenII :: UnfilledRPAType+wingtraOneGenII =+  mkUnfilledRPAType+    & rpaMake ?~ "Wingtra"+    & rpaModel ?~ "WingtraOne GEN II"+    & shortName ?~ "WingtraOne GEN II"+    & category ?~ PoweredLift+    & maximumGrossWeight ?~ 4800+    & userManual ?~ "WingtraOne GEN II user manual and the WingtraHub documentation"+    & transponderCarriage ?~ NoTransponder+    & flightTermination ?~ NoFlightTerminationSystem+    & inspectionItems+      .~ [ "the fuselage, wings and winglets, for cracks and delamination"+         , "motors, propellers and propeller retainers"+         , "elevons and their servos, by moving each through its full range"+         , "the pitot tube, which must be clear"+         , "the payload bay, the camera and its lens"+         , "batteries (cycle count, cell voltage balance, swelling and damage)"+         , "the tablet, telemetry radio and their charging equipment"+         ]+    & beforeFlight+      .~ [ "Plan the mission in WingtraHub, check its altitude, its boundary and the take-off and landing point against the site plan, and confirm that the whole flight path stays within VLOS."+         , "Choose a take-off and landing point clear of obstacles by at least the distance the manual requires, and into wind."+         , "Complete the WingtraHub pre-flight checks, including the airspeed sensor check, before every flight."+         ]+    & batteryWarnings ?~ "WingtraHub warns of low battery and the RPA returns to its landing point automatically when the remaining battery is only enough to return and land."+    & emergencyActions+      .~ [ emergencyAction+            "Loss of command link"+            "the RPA continues its mission and then returns to land at its home point. The RP must keep visual contact with the RPA and, if the link is not restored and the RPA is approaching people or obstacles, prepare to keep people clear of the landing point."+            []+         , emergencyAction+            "Strong wind on landing"+            "the RPA may drift during its vertical descent. The RP must command the RPA to hover and reposition it, or abort the landing and land at the alternative landing point."+            []+         , emergencyAction+            "Airspeed sensor failure"+            "WingtraHub warns of the failure. The RP must command the RPA to return home and land, and treat it as unserviceable until the MC has inspected it."+            []+         ]++-- | The AgEagle eBee X, a fixed-wing mapping RPA, launched by hand.+agEagleEBeeX :: UnfilledRPAType+agEagleEBeeX =+  mkUnfilledRPAType+    & rpaMake ?~ "AgEagle"+    & rpaModel ?~ "eBee X"+    & shortName ?~ "AgEagle eBee X"+    & category ?~ Aeroplane+    & maximumGrossWeight ?~ 1600+    & userManual ?~ "eBee X Drone User Manual and the eMotion documentation"+    & transponderCarriage ?~ NoTransponder+    & flightTermination ?~ NoFlightTerminationSystem+    & inspectionItems+      .~ [ "the wing, its joints and the central body, for cracks and dents"+         , "the propeller and the motor"+         , "elevons and their servos"+         , "the pitot tube, which must be clear"+         , "the camera and its lens"+         , "batteries (cycle count, cell voltage balance, swelling and damage)"+         , "the ground modem, laptop and their charging equipment"+         ]+    & beforeFlight+      .~ [ "Plan the mission in eMotion, and set the home waypoint, the landing sector and the minimum and maximum altitudes, so that the RPA stays within the operating area, below 400 ft AGL and within VLOS."+         , "Choose a landing area of at least the size the manual requires, clear of obstacles and people, on a heading into wind."+         , "Complete the eMotion pre-flight checklist, including the airspeed calibration, before every flight."+         ]+    & batteryWarnings ?~ "eMotion warns of low battery, and the RPA returns home and lands when the remaining battery is only enough to do so."+    & emergencyActions+      .~ [ emergencyAction+            "Loss of command link"+            "the RPA continues its mission for the time set in eMotion, then returns to the home waypoint and lands. The RP must keep visual contact with the RPA and keep people clear of the landing area."+            []+         , emergencyAction+            "Landing area blocked"+            "the RP must abort the landing in eMotion, so that the RPA climbs and circles, and land when the area is clear or at the alternative landing area."+            []+         , emergencyAction+            "Uncontrolled flight"+            "the RP must command an emergency landing in eMotion, which stops the motor so that the RPA glides to the ground near its position."+            []+         ]
+ examples/src/ReOC/Example/BanksiaPoint.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell #-}+{-# OPTIONS_GHC -Wall #-}++{- | A one-person aerial photography business on Sydney's northern beaches.+Its sole director holds every key position, is its only remote pilot and+conducts only solo operations, with two of one type of small multirotor. Its+application form is signed with a written signature, read when the package+is compiled.++The application starts as 'mkUnfilledReOC', and each field is set with its+optic; 'fillReOC' then checks it. The company, its people, numbers and+addresses are made up.+-}+module ReOC.Example.BanksiaPoint (+  banksiaPointInput,+  banksiaPoint,+) where++import Control.Lens ((&), (.~), (?~))+import Data.List.NonEmpty (NonEmpty)+import qualified Data.Time.Calendar.Month as Month+import ReOC.Example.Aircraft (aircraft, djiMavic3Pro, equipment)+import ReOC.Example.Policies (examplePolicies)+import ReOC.Example.Risk+import ReOC.Fill (fillReOC)+import ReOC.Model+import ReOC.Render.Embed (embedFileBytes)++-- | The application of Banksia Point Aerial Media Pty Ltd, as it is filled in.+banksiaPointInput :: UnfilledReOC+banksiaPointInput =+  mkUnfilledReOC+    -- the company (questions 1 and 4 to 6)+    & operator . company . companyName ?~ "Banksia Point Aerial Media"+    & operator . company . abn ?~ "15 092 285 142"+    & operator . company . arn ?~ "9990101"+    & operator . company . registeredOffice . streetAddress .~ ["Suite 3", "41 Bungan Lane"]+    & operator . company . registeredOffice . suburb ?~ "Mona Vale"+    & operator . company . registeredOffice . stateOrTerritory ?~ NewSouthWales+    & operator . company . registeredOffice . postcode ?~ "2103"+    & operator . company . operationalHeadquarters ?~ AtRegisteredOffice+    & operator . company . phoneNumber ?~ "02 5550 1182"+    & operator . company . emailAddress ?~ "hello@banksiapointaerial.example"+    & operator . company . businessName ?~ "Banksia Point Aerial"+    -- the CEO, who holds every key position (questions 7 to 12)+    & operator . keyPersonnel . chiefExecutive . nominee . person . fullName ?~ "Mei-Ling Hartley"+    & operator . keyPersonnel . chiefExecutive . nominee . person . arn ?~ "9990102"+    & operator . keyPersonnel . chiefExecutive . nominee . person . phoneNumber ?~ "0491 570 156"+    & operator . keyPersonnel . chiefExecutive . nominee . person . emailAddress ?~ "meiling@banksiapointaerial.example"+    & operator . keyPersonnel . chiefExecutive . nominee . otherQualifications .~ ["a Diploma of Screen and Media"]+    & operator . keyPersonnel . chiefExecutive . nominee . aviationExperience ?~ "four years of excluded-category RPA operations for real estate and tourism clients"+    & operator . keyPersonnel . chiefExecutive . directorStatus ?~ SoleDirector+    & operator . keyPersonnel . chiefExecutive . managementExperience+      ?~ "Sole director of Banksia Point Aerial Media Pty Ltd since 2022. Eight years running a photography and video business, including client contracts, insurance and work health and safety. Also nominated as Chief Remote Pilot and Maintenance Controller."+    & operator . keyPersonnel . chiefPilot . crpNominee ?~ CRPIsCEO+    & operator . keyPersonnel . chiefPilot . rePLOrigin ?~ RePLTraining (Just "Pelican Drone School")+    & operator . keyPersonnel . chiefPilot . rpaHistory+      ?~ "Holds RePL, multirotor, up to 7 kg. About 350 hours on DJI Mavic 2 Pro, Mavic 3 Pro and Mini 3 Pro, in excluded-category operations for real estate, construction progress and tourism imagery in the Sydney region."+    & operator . keyPersonnel . chiefPilot . otherReOCRoles ?~ NoOtherReOCRoles+    & operator . keyPersonnel . chiefPilot . radio ?~ RadioOperatorCertificate+    & operator . keyPersonnel . mcNominee ?~ MCIsCEO+    -- the RPA (question 27)+    & operator . fleet+      .~ [ mkUnfilledOperatedType+            & rpaType .~ djiMavic3Pro+            & airframes+              .~ [ aircraft "1581F5FHD23A0012" [equipment "DJI RC Pro remote controller" "5WKCL3R0A20118"]+                 , aircraft "1581F5FHD23B0347" [equipment "DJI RC remote controller" "5EBCL2K0C40295"]+                 ]+         ]+    -- the rest of the form (questions 2, 19 to 26 and 30 to 32)+    & applicationForm . primaryContact ?~ ApplicantIsPrimaryContact+    & applicationForm . personnelHistory . actionTaken ?~ NoHistory+    & applicationForm . personnelHistory . transportLicenceRefused ?~ NoHistory+    & applicationForm . personnelHistory . criminalConviction ?~ NoHistory+    & applicationForm . personnelHistory . suspensionPending ?~ NoHistory+    & applicationForm . regulatoryHistory ?~ NoRegulatoryAction+    & applicationForm . proceduresLibrary ?~ False+    & applicationForm . declaration ?~ DeclaredByCEO+    & applicationForm . signature ?~ WrittenSignatureImage (Just $(embedFileBytes "examples/signatures/banksia-point.png"))+    -- the operations manual+    & operationsManual . firstIssue . version . majorVersion ?~ 1+    & operationsManual . firstIssue . version . minorVersion ?~ 0+    & operationsManual . firstIssue . issueDate ?~ m+    & operationsManual . firstIssue . effective ?~ "On issue of the ReOC"+    & operationsManual . firstIssue . parts ?~ "All"+    & operationsManual . firstIssue . details ?~ "Initial issue for the ReOC application."+    & operationsManual . services+      .~ [ "real estate and property marketing imagery"+         , "construction progress photography"+         , "tourism and hospitality promotion imagery"+         , "roof and gutter condition photography for building inspectors"+         ]+    & operationsManual . policies .~ examplePolicies+    & operationsManual . policies . batteryReserve ?~ 25+    & operationsManual . riskRegister+      .~ [peopleRisk m]+        <> airspaceRisks m+        <> [ commandLinkRisk m+           , batteryRisk m+           , weatherRisk m+           , riskEntry+              m+              "Coastal operations – sea breeze, salt spray and gulls"+              "Loss of control in gusts; corrosion of the RPA; bird strike"+              "Manufacturer wind limits; onsite validation (2.3.1)"+              (Occasional, Minor)+              "Coastal flights planned for the morning, before the sea breeze; RPA wiped down after coastal flights; climb away from birds that approach the RPA"+              (Remote, Minor)+              ChiefRemotePilot+           , riskEntry+              m+              "Solo operation – RP workload and distraction"+              "Conflicting aircraft or person not detected"+              "Self-briefing; Flight Record checklists (2.3.2)"+              (Remote, Moderate)+              "RPA held in hover while changing camera settings; land before talking with clients or the public"+              (Improbable, Minor)+              ChiefRemotePilot+           , fitnessRisk ChiefExecutiveOfficer m+           , recencyRisk m+           , firmwareRisk m+           ]+    & operationsManual . crew ?~ SoloOperationsOnly+    & operationsManual . pilots ?~ CRPIsOnlyRemotePilot+ where+  m = Month.YearMonth 2026 9++-- | The application of Banksia Point Aerial Media Pty Ltd: valid, or every reason it is not.+banksiaPoint :: Either (NonEmpty ReOCError) ReOC+banksiaPoint =+  fillReOC banksiaPointInput
+ examples/src/ReOC/Example/Draft.hs view
@@ -0,0 +1,44 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -Wall #-}++{- | An application that has only been started: the company's name, an ABN+with a typing error, and a CEO's name. Filling it in gives every reason it+is not yet valid.++>>> import qualified Data.Text as Text+>>> import qualified Data.Text.IO as Text+>>> mapM_ Text.putStrLn (take 3 (Text.lines draftReport))+operator › company › ABN: “15 092 285 143” is not an ABN: 11 digits with valid check digits (The company’s Australian business number (ABN).)+operator › company › ARN: not filled in (The company’s CASA aviation reference number (ARN).)+operator › company › registered office › street address: not filled in (The lines of the street address, such as unit and street; one or more.)+-}+module ReOC.Example.Draft (+  draftInput,+  draft,+  draftReport,+) where++import Control.Lens ((&), (?~))+import Data.List.NonEmpty (NonEmpty)+import Data.Text (Text)+import ReOC.Fill (fillReOC)+import ReOC.Model+import ReOC.Render.Error (renderReOCErrors)++-- | An application that has only been started.+draftInput :: UnfilledReOC+draftInput =+  mkUnfilledReOC+    & operator . company . companyName ?~ "Banksia Point Aerial Media"+    & operator . company . abn ?~ "15 092 285 143"+    & operator . keyPersonnel . chiefExecutive . nominee . person . fullName ?~ "Mei-Ling Hartley"++-- | The reasons that the draft is not yet valid.+draft :: Either (NonEmpty ReOCError) ReOC+draft =+  fillReOC draftInput++-- | The reasons that the draft is not yet valid, one to a line.+draftReport :: Text+draftReport =+  either renderReOCErrors (const "") draft
+ examples/src/ReOC/Example/Ironbark.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -Wall #-}++{- | An infrastructure inspection company in Perth. Each key position is held+by a different person; the company engages other remote pilots and conducts+multi-crew operations, with three types of multirotor including a medium+RPA. Its manual has been revised once, after CASA's assessment. Its chief+remote pilot is chief remote pilot of another ReOC holder, and was given an+infringement notice before holding a RePL.++The application starts as 'mkUnfilledReOC', and each field is set with its+optic; 'fillReOC' then checks it. The company, its people, numbers and+addresses are made up.+-}+module ReOC.Example.Ironbark (+  ironbarkInput,+  ironbark,+) where++import Control.Lens ((&), (.~), (?~))+import Data.List.NonEmpty (NonEmpty)+import Data.Time.Calendar (fromGregorian)+import qualified Data.Time.Calendar.Month as Month+import ReOC.Example.Aircraft (aircraft, djiMatrice30T, djiMatrice350RTK, djiMavic3Thermal, equipment, operatedType)+import ReOC.Example.Policies (examplePolicies)+import ReOC.Example.Risk+import ReOC.Fill (fillReOC)+import ReOC.Model++-- | The application of Ironbark Asset Inspection Pty Ltd, as it is filled in.+ironbarkInput :: UnfilledReOC+ironbarkInput =+  mkUnfilledReOC+    -- the company, with its operational headquarters away from its registered office+    & operator . company . companyName ?~ "Ironbark Asset Inspection"+    & operator . company . abn ?~ "79 866 898 501"+    & operator . company . arn ?~ "9990201"+    & operator . company . registeredOffice . streetAddress .~ ["Level 4", "160 Jarrah Terrace"]+    & operator . company . registeredOffice . suburb ?~ "East Perth"+    & operator . company . registeredOffice . stateOrTerritory ?~ WesternAustralia+    & operator . company . registeredOffice . postcode ?~ "6004"+    & operator . company . operationalHeadquarters+      ?~ OperationalHeadquartersAddress+        ( mkUnfilledAddress+            & streetAddress .~ ["Unit 7", "22 Kurrajong Road"]+            & suburb ?~ "Welshpool"+            & stateOrTerritory ?~ WesternAustralia+            & postcode ?~ "6106"+        )+    & operator . company . phoneNumber ?~ "08 5550 4410"+    & operator . company . emailAddress ?~ "operations@ironbarkinspection.example"+    -- the CEO+    & operator . keyPersonnel . chiefExecutive . nominee . person . fullName ?~ "Daniel Okonkwo"+    & operator . keyPersonnel . chiefExecutive . nominee . person . arn ?~ "9990202"+    & operator . keyPersonnel . chiefExecutive . nominee . person . phoneNumber ?~ "0491 571 266"+    & operator . keyPersonnel . chiefExecutive . nominee . person . emailAddress ?~ "daniel.okonkwo@ironbarkinspection.example"+    & operator . keyPersonnel . chiefExecutive . nominee . otherQualifications+      .~ ["a Bachelor of Engineering (Electrical)", "a Certificate IV in Work Health and Safety"]+    & operator . keyPersonnel . chiefExecutive . nominee . aviationExperience+      ?~ "six years managing contractors who used RPA for asset inspection on transmission networks"+    & operator . keyPersonnel . chiefExecutive . directorStatus ?~ Director+    & operator . keyPersonnel . chiefExecutive . managementExperience+      ?~ "Director and general manager of Ironbark Asset Inspection Pty Ltd. Fifteen years in electricity transmission asset management, the last six managing inspection contracts that used RPA operators. Responsible for budgets of over $5 million and teams of up to 25."+    -- the chief remote pilot, another person, who is also CRP of another ReOC holder+    & operator . keyPersonnel . chiefPilot . crpNominee+      ?~ CRPNominated+        ( mkUnfilledNominee+            & person . fullName ?~ "Rhiannon Walsh"+            & person . arn ?~ "9990203"+            & person . phoneNumber ?~ "0491 571 491"+            & person . emailAddress ?~ "rhiannon.walsh@ironbarkinspection.example"+            & otherQualifications .~ ["a CASA aeronautical radio operator certificate"]+            & aviationExperience+              ?~ "over 1,200 hours of RPA operations, including five years as a remote pilot and two years as chief remote pilot of another ReOC holder"+        )+    & operator . keyPersonnel . chiefPilot . rePLOrigin ?~ RePLTraining (Just "Swan Valley Remote Pilot Training")+    & operator . keyPersonnel . chiefPilot . rpaHistory+      ?~ "Holds RePL, multirotor, up to 25 kg. Over 1,200 hours on DJI Matrice 300 RTK, Matrice 350 RTK, Matrice 30T, Mavic 3 Thermal and Phantom 4 RTK, in powerline, telecommunications tower, mine site and solar farm inspection across WA. Chief remote pilot of Quenda Mapping Pty Ltd since 2024."+    & operator . keyPersonnel . chiefPilot . otherReOCRoles+      ?~ OtherReOCRolesHeld+        (Just "Chief remote pilot of Quenda Mapping Pty Ltd (ReOC holder, ARN 9990290), about 4 hours a week. Quenda Mapping has agreed in writing that Ironbark operations take priority. I will resign that position within 6 months of the issue of this ReOC.")+    & operator . keyPersonnel . chiefPilot . radio ?~ RadioOperatorCertificate+    -- the maintenance controller, a third person+    & operator . keyPersonnel . mcNominee+      ?~ MCNominated+        ( mkUnfilledNominee+            & person . fullName ?~ "Tomasz Nowak"+            & person . arn ?~ "9990204"+            & person . phoneNumber ?~ "0491 571 804"+            & person . emailAddress ?~ "tomasz.nowak@ironbarkinspection.example"+            & otherQualifications .~ ["a Certificate IV in Aeroskills (Avionics)", "a RePL, multirotor, up to 25 kg"]+            & aviationExperience+              ?~ "ten years as an avionics technician on regional airline aircraft, and three years maintaining a fleet of medium multirotor RPA"+        )+    -- three types of RPA+    & operator . fleet+      .~ [ operatedType+            djiMatrice350RTK+            [ aircraft+                "1ZNDH3P00C1042"+                [equipment "Zenmuse H20T camera" "3D3BJ4H00A0567", equipment "DJI RC Plus remote controller" "6TBCK7F0F10233"]+            , aircraft+                "1ZNDH3P00C1187"+                [equipment "Zenmuse H30T camera" "4F2DJ5K00B0091", equipment "DJI RC Plus remote controller" "6TBCK7F0F10498"]+            ]+         , operatedType+            djiMatrice30T+            [ aircraft "1ZNBJ7B00D0315" [equipment "DJI RC Plus remote controller" "6TBCK7F0F10611"]+            , aircraft "1ZNBJ7B00D0322" [equipment "DJI RC Plus remote controller" "6TBCK7F0F10652"]+            ]+         , operatedType+            djiMavic3Thermal+            [ aircraft "1581F5BKD23C0072" [equipment "DJI RC Pro Enterprise remote controller" "5ZDCL1N0B30014"]+            , aircraft "1581F5BKD23C0118" [equipment "DJI RC Pro Enterprise remote controller" "5ZDCL1N0B30066"]+            , aircraft "1581F5BKD24A0005" [equipment "DJI RC Pro Enterprise remote controller" "5ZDCL1N0B30101"]+            ]+         ]+    -- a primary contact other than the applicant, a regulatory action and other documents+    & applicationForm . primaryContact+      ?~ PrimaryContactPerson+        ( mkUnfilledContactPerson+            & fullName ?~ "Priya Raman"+            & position ?~ "Operations coordinator"+            & phoneNumber ?~ "08 5550 4412"+            & emailAddress ?~ "priya.raman@ironbarkinspection.example"+        )+    & applicationForm . personnelHistory . actionTaken ?~ NoHistory+    & applicationForm . personnelHistory . transportLicenceRefused ?~ NoHistory+    & applicationForm . personnelHistory . criminalConviction ?~ NoHistory+    & applicationForm . personnelHistory . suspensionPending ?~ NoHistory+    & applicationForm . regulatoryHistory+      ?~ RegulatoryActionTaken+        ( mkUnfilledRegulatoryAction+            & reocSuspendedOrCancelled ?~ False+            & typeOfAction ?~ "Infringement notice"+            & authorisationAction ?~ "None; the infringement notice was paid"+            & actionDate ?~ fromGregorian 2019 5 14+            & actionDetails+              ?~ "Rhiannon Walsh (nominated CRP): infringement notice for flying an excluded RPA within 30 m of a person, in Bunbury, before she held a RePL. Paid."+        )+    & applicationForm . proceduresLibrary ?~ True+    & applicationForm . otherDocuments+      .~ [ "Powerline and tower inspection procedures"+         , "Site risk assessment template"+         , "Remote pilot induction and training records template"+         ]+    & applicationForm . declaration ?~ DeclaredByCEO+    -- the operations manual, revised once+    & operationsManual . firstIssue . version . majorVersion ?~ 1+    & operationsManual . firstIssue . version . minorVersion ?~ 0+    & operationsManual . firstIssue . issueDate ?~ m+    & operationsManual . firstIssue . effective ?~ "On issue of the ReOC"+    & operationsManual . firstIssue . parts ?~ "All"+    & operationsManual . firstIssue . details ?~ "Initial issue for the ReOC application."+    & operationsManual . revisions+      .~ [ mkUnfilledRevision+            & versionIncrement ?~ MinorRevision+            & monthsAfter ?~ 3+            & effective ?~ "On issue of the ReOC"+            & parts ?~ "1.2, 2.3, Appendix C"+            & details+              ?~ "Changes requested in CASA's assessment: duties of the MC clarified, multi-crew briefing added, emergency actions of the DJI M350 RTK expanded."+         ]+    & operationsManual . services+      .~ [ "visual and thermal inspection of powerlines, substations and telecommunications towers"+         , "solar farm thermal surveys"+         , "inspection of mine site infrastructure, conveyors and stockpiles"+         , "roof and facade condition surveys of commercial buildings"+         ]+    & operationsManual . policies .~ examplePolicies+    & operationsManual . policies . recencyDays ?~ 60+    & operationsManual . policies . refresherMonths ?~ 6+    & operationsManual . policies . alcoholHours ?~ 10+    & operationsManual . policies . dutyHours ?~ 12+    & operationsManual . policies . inspectionHours ?~ 30+    & operationsManual . policies . backupFrequency ?~ Daily+    & operationsManual . policies . checkingMonths ?~ 6+    & operationsManual . riskRegister+      .~ [peopleRisk m]+        <> airspaceRisks m+        <> [ commandLinkRisk m+           , batteryRisk m+           , weatherRisk m+           , riskEntry+              m+              "Electromagnetic interference near energised powerlines and substations"+              "Compass error, loss of command link or loss of position hold close to conductors"+              "Compass calibration away from structures; GNSS status checked before take-off (3.1)"+              (Occasional, Hazardous)+              "Minimum distances from conductors in the network owner's procedures; RP proficiency in ATTI mode; observer calls distance to conductors in multi-crew operations"+              (Improbable, Hazardous)+              ChiefRemotePilot+           , riskEntry+              m+              "Medium RPA (DJI M350 RTK) – higher energy on impact"+              "Serious injury or property damage if the RPA falls"+              "RePL for RPA up to 25 kg; 30 m from people; manufacturer limits (2.4.6)"+              (Improbable, Hazardous)+              "Flight path planned to keep the RPA clear of roads and workers; ground crew keep workers clear of the area below the RPA"+              (ExtremelyImprobable, Hazardous)+              ChiefRemotePilot+           , riskEntry+              m+              "Multi-crew communication"+              "Observer warning not heard or not understood; RP distracted"+              "Crew briefing; standard calls (2.3.2)"+              (Remote, Moderate)+              "Two-way radios with headsets on every site; read-back of hazard calls; one person speaks to the client"+              (Improbable, Minor)+              ChiefRemotePilot+           , riskEntry+              m+              "Heat and remote sites"+              "Heat illness of the crew; battery overheating; delayed emergency response"+              "Fitness for duty requirements (1.7); manufacturer temperature limits"+              (Occasional, Moderate)+              "Water, shade and first aid kit on every site; work stopped above 40 °C; batteries kept shaded; site emergency plan and satellite messenger at remote sites"+              (Remote, Minor)+              ChiefExecutiveOfficer+           , riskEntry+              m+              "Remote pilots new to the company"+              "Company procedures not followed"+              "Induction and proficiency check (1.6)"+              (Remote, Moderate)+              "New RPs fly with the CRP or an experienced RP for their first three operations"+              (Improbable, Minor)+              ChiefRemotePilot+           , fitnessRisk ChiefExecutiveOfficer m+           , recencyRisk m+           , firmwareRisk m+           ]+    & operationsManual . crew ?~ SoloAndMultiCrewOperations+    & operationsManual . pilots ?~ OtherRemotePilots+ where+  m = Month.YearMonth 2026 4++-- | The application of Ironbark Asset Inspection Pty Ltd: valid, or every reason it is not.+ironbark :: Either (NonEmpty ReOCError) ReOC+ironbark =+  fillReOC ironbarkInput
+ examples/src/ReOC/Example/Policies.hs view
@@ -0,0 +1,28 @@+{-# OPTIONS_GHC -Wall #-}++{- | The limits that the examples set in their operations manuals, from which+each example changes the fields it sets differently.+-}+module ReOC.Example.Policies (+  examplePolicies,+) where++import Control.Lens ((&), (?~))+import ReOC.Model++-- | Limits common to the examples.+examplePolicies :: UnfilledPolicies+examplePolicies =+  mkUnfilledPolicies+    & recencyFlights ?~ 3+    & recencyDays ?~ 90+    & refresherMonths ?~ 12+    & alcoholHours ?~ 8+    & restHours ?~ 10+    & dutyHours ?~ 10+    & inspectionMonths ?~ 3+    & inspectionHours ?~ 25+    & batteryReserve ?~ 30+    & backupFrequency ?~ Weekly+    & independentReviewYears ?~ 2+    & checkingMonths ?~ 12
+ examples/src/ReOC/Example/Risk.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -Wall #-}++{- | Entries of a risk register that most operators share, from which each+example builds its own register, as unfilled forms. The section numbers in+the controls are those of the operations manual.+-}+module ReOC.Example.Risk (+  riskEntry,+  airspaceRisks,+  peopleRisk,+  commandLinkRisk,+  batteryRisk,+  weatherRisk,+  fitnessRisk,+  recencyRisk,+  firmwareRisk,+) where++import Control.Lens ((&), (.~), (?~))+import Data.Text (Text)+import Data.Time.Calendar.Month (Month)+import ReOC.Model++{- | A risk, entered in a month and reviewed 12 months later: its hazard,+description, existing controls, initial risk, additional controls, residual+risk and owner.+-}+riskEntry :: Month -> Text -> Text -> Text -> (Likelihood, Consequence) -> Text -> (Likelihood, Consequence) -> KeyPosition -> UnfilledRisk+riskEntry entered h d e initial a residual owner =+  mkUnfilledRisk+    & hazard ?~ h+    & riskDescription ?~ d+    & existingControls ?~ e+    & initialRisk .~ assessment initial+    & additionalControls ?~ a+    & residualRisk .~ assessment residual+    & riskOwner ?~ owner+    & dateEntered ?~ entered+    & reviewMonths ?~ 12++-- The likelihood and consequence of a risk.+assessment :: (Likelihood, Consequence) -> UnfilledRiskAssessment+assessment (l, c) =+  mkUnfilledRiskAssessment+    & riskLikelihood ?~ l+    & riskConsequence ?~ c++-- | Crewed aircraft at low level, and operations near aerodromes.+airspaceRisks :: Month -> [UnfilledRisk]+airspaceRisks m =+  [ riskEntry+      m+      "Crewed aircraft at low level (helicopters, agricultural aircraft, aerial firefighting)"+      "Mid-air collision with a crewed aircraft"+      "Below 400 ft AGL; VLOS lookout; give way to crewed aircraft (2.4.2, 2.4.7)"+      (Improbable, Catastrophic)+      "Monitor the CTAF within 3 NM of a non-controlled aerodrome or HLS; check for NOTAMs and fire activity in planning; descend and land when a crewed aircraft approaches (2.4.3)"+      (ExtremelyImprobable, Catastrophic)+      ChiefRemotePilot+  , riskEntry+      m+      "Operations near aerodromes or in controlled airspace"+      "Airspace infringement; conflict with traffic"+      "CASA-verified drone safety app; no-fly zones of the Part 101 MOS (2.4.7)"+      (Improbable, Hazardous)+      "No operations in a no-fly zone without an approval or authorisation in force; the approval is carried on site"+      (ExtremelyImprobable, Hazardous)+      ChiefRemotePilot+  ]++-- | People who are not involved in the operation.+peopleRisk :: Month -> UnfilledRisk+peopleRisk m =+  riskEntry+    m+    "Persons not involved in the operation"+    "RPA strikes a person, causing injury"+    "30 m from people; not over populous areas; onsite validation; customer briefing (2.3, 2.4.6)"+    (Remote, Moderate)+    "Launch and recovery area kept clear of people; operation paused when a person approaches the operating area"+    (Improbable, Moderate)+    ChiefRemotePilot++-- | Loss of the command and control link.+commandLinkRisk :: Month -> UnfilledRisk+commandLinkRisk m =+  riskEntry+    m+    "Loss of command link"+    "Flyaway or uncontrolled flight; collision with people or property"+    "Manufacturer pre-flight checks; signal-lost action set; VLOS (2.3.3, App C)"+    (Remote, Moderate)+    "Return altitude set above obstacles at each site; sources of radio interference identified in the site assessment"+    (Improbable, Minor)+    ChiefRemotePilot++-- | Battery failure or a low battery.+batteryRisk :: Month -> UnfilledRisk+batteryRisk m =+  riskEntry+    m+    "Battery failure or low battery"+    "Forced landing in an unsuitable area; battery fire in flight, in storage or in transport"+    "Manufacturer battery care; low-battery warnings; periodic inspection (3.1)"+    (Remote, Moderate)+    "Battery reserve on landing (App C); damaged or swollen batteries removed from service; batteries carried and charged in fire-resistant bags"+    (Improbable, Minor)+    MaintenanceController++-- | Weather.+weatherRisk :: Month -> UnfilledRisk+weatherRisk m =+  riskEntry+    m+    "Wind, gusts, rain, heat or reduced visibility"+    "Loss of control; loss of VLOS; overheating of batteries or equipment"+    "Manufacturer limits; VMC; onsite validation (2.3.1)"+    (Remote, Moderate)+    "Forecast checked in planning and on site; operation stopped when a limit is approached"+    (Improbable, Minor)+    ChiefRemotePilot++-- | Fatigue, illness or impairment of a remote pilot.+fitnessRisk :: KeyPosition -> Month -> UnfilledRisk+fitnessRisk owner m =+  riskEntry+    m+    "RP fatigue, illness or impairment"+    "Errors in planning or flight control"+    "Fitness for duty requirements; duty and rest limits (1.7)"+    (Improbable, Moderate)+    "Alcohol and duty limits (1.7); work rostered within the limits; an RP who is unfit stands down without penalty"+    (ExtremelyImprobable, Moderate)+    owner++-- | A remote pilot who has not flown recently.+recencyRisk :: Month -> UnfilledRisk+recencyRisk m =+  riskEntry+    m+    "RP lack of recency"+    "Mishandling of an abnormal situation"+    "Recency requirements; annual checking event (1.6.2, 1.8)"+    (Remote, Moderate)+    "Proficiency flight after a lapse; regular practice of manual flight without GNSS assistance"+    (Improbable, Minor)+    ChiefRemotePilot++-- | Updates to firmware and software.+firmwareRisk :: Month -> UnfilledRisk+firmwareRisk m =+  riskEntry+    m+    "Firmware or software update"+    "Unexpected RPA behaviour in flight"+    "Updates directed by the MC as maintenance (3.1.1)"+    (Remote, Minor)+    "Release notes reviewed; test flight after an update before operations (3.1.1, 3.4)"+    (Improbable, Negligible)+    MaintenanceController
+ examples/src/ReOC/Example/Saltbush.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -Wall #-}++{- | A crop and pasture survey business in South Australia's Mid North. Its+CEO is a general manager who is not a director and does not fly; its chief+remote pilot, who obtained their RePL through private pilot licence theory,+is also its maintenance controller. It operates a multirotor, a fixed-wing+and a powered-lift RPA, engages seasonal remote pilots, and conducts only+solo operations. It discloses a suspended driver licence, and a director+makes the declaration.++The application starts as 'mkUnfilledReOC', and each field is set with its+optic; 'fillReOC' then checks it. The company, its people, numbers and+addresses are made up.+-}+module ReOC.Example.Saltbush (+  saltbushInput,+  saltbush,+) where++import Control.Lens ((&), (.~), (?~))+import Data.List.NonEmpty (NonEmpty)+import qualified Data.Time.Calendar.Month as Month+import ReOC.Example.Aircraft (agEagleEBeeX, aircraft, djiMavic3Multispectral, equipment, operatedType, wingtraOneGenII)+import ReOC.Example.Policies (examplePolicies)+import ReOC.Example.Risk+import ReOC.Fill (fillReOC)+import ReOC.Model++-- | The application of Saltbush Ag Surveys Pty Ltd, as it is filled in.+saltbushInput :: UnfilledReOC+saltbushInput =+  mkUnfilledReOC+    -- the company, with its operational headquarters on a farm+    & operator . company . companyName ?~ "Saltbush Ag Surveys"+    & operator . company . abn ?~ "40 941 019 012"+    & operator . company . arn ?~ "9990401"+    & operator . company . registeredOffice . streetAddress .~ ["9 Quandong Street"]+    & operator . company . registeredOffice . suburb ?~ "Clare"+    & operator . company . registeredOffice . stateOrTerritory ?~ SouthAustralia+    & operator . company . registeredOffice . postcode ?~ "5453"+    & operator . company . operationalHeadquarters+      ?~ OperationalHeadquartersAddress+        ( mkUnfilledAddress+            & streetAddress .~ ["Shed 2, 1410 Saltbush Road"]+            & suburb ?~ "Andrews"+            & stateOrTerritory ?~ SouthAustralia+            & postcode ?~ "5454"+        )+    & operator . company . phoneNumber ?~ "08 7010 3365"+    & operator . company . emailAddress ?~ "office@saltbushag.example"+    -- the CEO, a general manager who is not a director+    & operator . keyPersonnel . chiefExecutive . nominee . person . fullName ?~ "Graham Pickering"+    & operator . keyPersonnel . chiefExecutive . nominee . person . arn ?~ "9990402"+    & operator . keyPersonnel . chiefExecutive . nominee . person . phoneNumber ?~ "0491 573 770"+    & operator . keyPersonnel . chiefExecutive . nominee . person . emailAddress ?~ "graham@saltbushag.example"+    & operator . keyPersonnel . chiefExecutive . nominee . otherQualifications .~ ["a Bachelor of Agricultural Science"]+    & operator . keyPersonnel . chiefExecutive . nominee . aviationExperience+      ?~ "no remote pilot experience; ten years of engaging aerial agricultural operators as a farm manager"+    & operator . keyPersonnel . chiefExecutive . directorStatus ?~ NotADirector+    & operator . keyPersonnel . chiefExecutive . managementExperience+      ?~ "General manager of Saltbush Ag Surveys Pty Ltd, appointed by its directors with authority over its finances and staff. Twenty years managing broadacre farms of up to 6,000 ha, including staff, contractors, chemical and work health and safety obligations."+    -- the chief remote pilot, also the maintenance controller+    & operator . keyPersonnel . chiefPilot . crpNominee+      ?~ CRPNominated+        ( mkUnfilledNominee+            & person . fullName ?~ "Jess Varga"+            & person . arn ?~ "9990403"+            & person . phoneNumber ?~ "0491 573 087"+            & person . emailAddress ?~ "jess@saltbushag.example"+            & otherQualifications .~ ["a private pilot licence (aeroplane)", "a Certificate III in Agriculture"]+            & aviationExperience ?~ "about 450 hours of RPA survey operations and 210 hours as pilot in command of light aeroplanes"+        )+    & operator . keyPersonnel . chiefPilot . rePLOrigin ?~ PPLTheory+    & operator . keyPersonnel . chiefPilot . rpaHistory+      ?~ "Holds RePL, multirotor and aeroplane up to 7 kg, and powered-lift up to 25 kg, obtained through PPL theory. About 450 hours on DJI Mavic 3 Multispectral, Phantom 4 Multispectral, AgEagle eBee X and WingtraOne, in crop and pasture surveys in SA."+    & operator . keyPersonnel . chiefPilot . otherReOCRoles ?~ NoOtherReOCRoles+    & operator . keyPersonnel . chiefPilot . radio ?~ FlightCrewLicence+    & operator . keyPersonnel . mcNominee ?~ MCIsCRP+    -- a multirotor, a fixed-wing and a powered-lift RPA+    & operator . fleet+      .~ [ operatedType+            djiMavic3Multispectral+            [ aircraft "1581F6MPD24A0090" [equipment "DJI RC Pro Enterprise remote controller" "5ZDCL1N0C40220"]+            , aircraft "1581F6MPD24A0133" [equipment "DJI RC Pro Enterprise remote controller" "5ZDCL1N0C40247"]+            ]+         , operatedType+            agEagleEBeeX+            [aircraft "EBX-2-0877" [equipment "Aeria X camera" "AX-11592", equipment "eBee ground modem" "GM2-28810"]]+         , operatedType+            wingtraOneGenII+            [ aircraft+                "WT2-004518"+                [equipment "Sony RX1R II camera" "3910447", equipment "WingtraPilot tablet and telemetry radio" "WTR-22071"]+            ]+         ]+    -- a disclosed history, and a declaration by a director+    & applicationForm . primaryContact ?~ ApplicantIsPrimaryContact+    & applicationForm . personnelHistory . actionTaken ?~ NoHistory+    & applicationForm . personnelHistory . transportLicenceRefused+      ?~ HistoryDisclosed+        (Just "Graham Pickering (CEO): driver licence suspended for 3 months in 2021 for demerit points; reinstated in 2021, no further offences.")+    & applicationForm . personnelHistory . criminalConviction ?~ NoHistory+    & applicationForm . personnelHistory . suspensionPending ?~ NoHistory+    & applicationForm . regulatoryHistory ?~ NoRegulatoryAction+    & applicationForm . proceduresLibrary ?~ False+    & applicationForm . declaration+      ?~ DeclaredByOther+        ( mkUnfilledDeclarant+            & fullName ?~ "Kate Pickering"+            & role ?~ "Director"+        )+    -- the operations manual+    & operationsManual . firstIssue . version . majorVersion ?~ 1+    & operationsManual . firstIssue . version . minorVersion ?~ 0+    & operationsManual . firstIssue . issueDate ?~ m+    & operationsManual . firstIssue . effective ?~ "On issue of the ReOC"+    & operationsManual . firstIssue . parts ?~ "All"+    & operationsManual . firstIssue . details ?~ "Initial issue for the ReOC application."+    & operationsManual . services+      .~ [ "multispectral crop health surveys"+         , "pasture biomass mapping"+         , "elevation surveys for drainage and contour banks"+         , "inspection of stock water, fences and storm damage"+         ]+    & operationsManual . policies .~ examplePolicies+    & operationsManual . policies . dutyHours ?~ 11+    & operationsManual . policies . inspectionMonths ?~ 6+    & operationsManual . policies . inspectionHours ?~ 50+    & operationsManual . policies . batteryReserve ?~ 25+    & operationsManual . policies . independentReviewYears ?~ 3+    & operationsManual . riskRegister+      .~ [peopleRisk m]+        <> airspaceRisks m+        <> [ commandLinkRisk m+           , batteryRisk m+           , weatherRisk m+           , riskEntry+              m+              "Agricultural aircraft spraying or spreading nearby"+              "Mid-air collision with an agricultural aircraft working below 500 ft"+              "VLOS lookout; give way to crewed aircraft (2.4.2)"+              (Remote, Catastrophic)+              "Landholder asked about planned aerial application before each job; neighbouring operators contacted in spraying season; CTAF monitored; RPA landed when an aircraft is heard"+              (ExtremelyImprobable, Catastrophic)+              ChiefRemotePilot+           , riskEntry+              m+              "Long mapping missions in automated flight"+              "RPA leaves VLOS or the operating area"+              "Mission planned within VLOS; boundary checked in planning (App C)"+              (Remote, Moderate)+              "Large paddocks split into missions that stay within VLOS of a control point; RP moves with the RPA where needed"+              (Improbable, Moderate)+              ChiefRemotePilot+           , riskEntry+              m+              "Livestock, farm machinery and farm workers"+              "Stock startled into fences; RPA strikes a worker or machinery"+              "30 m from people; onsite validation (2.3, 2.4.6)"+              (Remote, Minor)+              "Landholder told of flight times; paddocks with stock surveyed at height; take-off away from machinery"+              (Improbable, Minor)+              ChiefRemotePilot+           , riskEntry+              m+              "Working alone in remote areas"+              "Delayed help after injury, vehicle breakdown or fire"+              "Fitness for duty requirements (1.7)"+              (Remote, Hazardous)+              "Daily check-in with the office; satellite messenger carried; fire extinguisher in the vehicle; no flights on total fire ban days"+              (Improbable, Moderate)+              ChiefExecutiveOfficer+           , fitnessRisk ChiefExecutiveOfficer m+           , recencyRisk m+           , firmwareRisk m+           ]+    & operationsManual . crew ?~ SoloOperationsOnly+    & operationsManual . pilots ?~ OtherRemotePilots+ where+  m = Month.YearMonth 2026 6++-- | The application of Saltbush Ag Surveys Pty Ltd: valid, or every reason it is not.+saltbush :: Either (NonEmpty ReOCError) ReOC+saltbush =+  fillReOC saltbushInput
+ examples/src/ReOC/Example/WattleCreek.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -Wall #-}++{- | A RePL training organisation near Geelong, which also conducts survey+operations. Its CEO is also its maintenance controller; its chief remote+pilot and chief RePL instructor are two other people. It applies for three+courses: an initial multirotor course, an upgrade to multirotor RPA over+7 kg, and an upgrade to aeroplanes, for which its chief RePL instructor does+not yet hold a RePL.++The application starts as 'mkUnfilledReOC', and each field is set with its+optic; 'fillReOC' then checks it. The company, its people, numbers and+addresses are made up.+-}+module ReOC.Example.WattleCreek (+  wattleCreekInput,+  wattleCreek,+) where++import Control.Lens ((&), (.~), (?~))+import Data.List.NonEmpty (NonEmpty)+import qualified Data.Time.Calendar.Month as Month+import ReOC.Example.Aircraft (agEagleEBeeX, aircraft, djiMatrice30T, djiMatrice350RTK, djiMavic3Classic, equipment, operatedType)+import ReOC.Example.Policies (examplePolicies)+import ReOC.Example.Risk+import ReOC.Fill (fillReOC)+import ReOC.Model++-- | The application of Wattle Creek Drone Academy Pty Ltd, as it is filled in.+wattleCreekInput :: UnfilledReOC+wattleCreekInput =+  mkUnfilledReOC+    -- the company+    & operator . company . companyName ?~ "Wattle Creek Drone Academy"+    & operator . company . abn ?~ "53 555 590 371"+    & operator . company . arn ?~ "9990301"+    & operator . company . registeredOffice . streetAddress .~ ["18 Saltmarsh Drive"]+    & operator . company . registeredOffice . suburb ?~ "Moolap"+    & operator . company . registeredOffice . stateOrTerritory ?~ Victoria+    & operator . company . registeredOffice . postcode ?~ "3224"+    & operator . company . operationalHeadquarters ?~ AtRegisteredOffice+    & operator . company . phoneNumber ?~ "03 5550 7720"+    & operator . company . emailAddress ?~ "enquiries@wattlecreekdrones.example"+    & operator . company . businessName ?~ "Wattle Creek Drones"+    -- the CEO, also the maintenance controller+    & operator . keyPersonnel . chiefExecutive . nominee . person . fullName ?~ "Gemma Castellano"+    & operator . keyPersonnel . chiefExecutive . nominee . person . arn ?~ "9990302"+    & operator . keyPersonnel . chiefExecutive . nominee . person . phoneNumber ?~ "0491 572 549"+    & operator . keyPersonnel . chiefExecutive . nominee . person . emailAddress ?~ "gemma@wattlecreekdrones.example"+    & operator . keyPersonnel . chiefExecutive . nominee . otherQualifications+      .~ ["a RePL, multirotor, up to 25 kg", "a Diploma of Leadership and Management"]+    & operator . keyPersonnel . chiefExecutive . nominee . aviationExperience+      ?~ "seven years of RPA operations in survey and agriculture, and three years maintaining the RPA of a survey company"+    & operator . keyPersonnel . chiefExecutive . directorStatus ?~ Director+    & operator . keyPersonnel . chiefExecutive . managementExperience+      ?~ "Director of Wattle Creek Drone Academy Pty Ltd. Seven years in RPA survey operations, three as operations manager of a survey company with 12 staff. Also nominated as Maintenance Controller."+    & operator . keyPersonnel . mcNominee ?~ MCIsCEO+    -- the chief remote pilot+    & operator . keyPersonnel . chiefPilot . crpNominee+      ?~ CRPNominated+        ( mkUnfilledNominee+            & person . fullName ?~ "Hamish McAllister"+            & person . arn ?~ "9990303"+            & person . phoneNumber ?~ "0491 572 665"+            & person . emailAddress ?~ "hamish@wattlecreekdrones.example"+            & otherQualifications .~ ["a CASA aeronautical radio operator certificate"]+            & aviationExperience ?~ "over 900 hours of RPA operations in survey and mapping, multirotor and aeroplane"+        )+    & operator . keyPersonnel . chiefPilot . rePLOrigin ?~ RePLTraining (Just "Bellarine Aviation Academy")+    & operator . keyPersonnel . chiefPilot . rpaHistory+      ?~ "Holds RePL, multirotor up to 25 kg and aeroplane up to 7 kg. Over 900 hours on DJI Matrice 350 RTK, Matrice 30T, Phantom 4 RTK and AgEagle eBee X, in survey, mapping and inspection in Victoria."+    & operator . keyPersonnel . chiefPilot . otherReOCRoles ?~ NoOtherReOCRoles+    & operator . keyPersonnel . chiefPilot . radio ?~ RadioOperatorCertificate+    -- the RPA for survey operations; the training RPA are given with the courses+    & operator . fleet+      .~ [operatedType djiMatrice30T [aircraft "1ZNBJ7B00E0148" [equipment "DJI RC Plus remote controller" "6TBCK7F0G20077"]]]+    -- the rest of the form, with the question bank as another document+    & applicationForm . primaryContact ?~ ApplicantIsPrimaryContact+    & applicationForm . personnelHistory . actionTaken ?~ NoHistory+    & applicationForm . personnelHistory . transportLicenceRefused ?~ NoHistory+    & applicationForm . personnelHistory . criminalConviction ?~ NoHistory+    & applicationForm . personnelHistory . suspensionPending ?~ NoHistory+    & applicationForm . regulatoryHistory ?~ NoRegulatoryAction+    & applicationForm . proceduresLibrary ?~ True+    & applicationForm . otherDocuments .~ ["RePL theory exam question bank and answer key"]+    & applicationForm . declaration ?~ DeclaredByCEO+    -- the operations manual+    & operationsManual . firstIssue . version . majorVersion ?~ 1+    & operationsManual . firstIssue . version . minorVersion ?~ 0+    & operationsManual . firstIssue . issueDate ?~ m+    & operationsManual . firstIssue . effective ?~ "On issue of the ReOC"+    & operationsManual . firstIssue . parts ?~ "All"+    & operationsManual . firstIssue . details ?~ "Initial issue for the ReOC application, with RePL training."+    & operationsManual . services+      .~ [ "RePL training"+         , "topographic and volumetric survey"+         , "visual and thermal inspection of buildings and infrastructure"+         ]+    & operationsManual . policies .~ examplePolicies+    & operationsManual . riskRegister+      .~ [peopleRisk m]+        <> airspaceRisks m+        <> [ commandLinkRisk m+           , batteryRisk m+           , weatherRisk m+           , riskEntry+              m+              "Student error in flight training"+              "Loss of control; collision with the instructor, other students or property"+              "Instructor beside the student at all times; RePL training manual procedures"+              (Occasional, Moderate)+              "Instructor takes control before the RPA leaves the training area; students not flying stand behind the control point; training area clear of the public"+              (Remote, Minor)+              ChiefRemotePilot+           , riskEntry+              m+              "Several RPA in the training area at once"+              "Collision between training RPA"+              "Training area divided into sectors; one RPA in each sector"+              (Remote, Minor)+              "Instructor briefs each sector's boundary and height band; at most two students flying for each instructor"+              (Improbable, Minor)+              ChiefRemotePilot+           , riskEntry+              m+              "Hand launch and belly landing of the eBee X"+              "Injury to the launcher from the propeller; damage on landing"+              "Manufacturer launch procedure; landing area selection (App C)"+              (Remote, Minor)+              "Students launch only after a briefing and a dry run; landing area walked before each session"+              (Improbable, Minor)+              ChiefRemotePilot+           , fitnessRisk ChiefExecutiveOfficer m+           , recencyRisk m+           , firmwareRisk m+           ]+    & operationsManual . crew ?~ SoloAndMultiCrewOperations+    & operationsManual . pilots ?~ OtherRemotePilots+    -- RePL training+    & maybeTrainingMaterial ?~ training+ where+  m = Month.YearMonth 2026 8++-- RePL training: a chief RePL instructor who is not otherwise key personnel, and three courses.+training :: UnfilledTrainingMaterial+training =+  mkUnfilledTrainingMaterial+    & criNominee+      ?~ CRINominated+        ( mkUnfilledNominee+            & person . fullName ?~ "Aroha Tipene"+            & person . arn ?~ "9990304"+            & person . phoneNumber ?~ "0491 572 983"+            & person . emailAddress ?~ "aroha@wattlecreekdrones.example"+            & otherQualifications .~ ["a Certificate IV in Training and Assessment", "a RePL, multirotor, up to 25 kg"]+            & aviationExperience ?~ "four years as a RePL instructor and over 600 hours of RPA operations in survey and inspection"+        )+    & rePLHolding+      ?~ RePLHoldingIntent+        (Just "I hold a RePL for multirotor up to 25 kg. I will hold a RePL for aeroplanes up to 7 kg before the first aeroplane upgrade course.")+    & teachingQualification ?~ TeachingQualificationHeld (Just "Certificate IV in Training and Assessment (TAE40122), 2023.")+    & operationalExperience+      ?~ OperationalExperienceIntent+        (Just "I have 20 hours of operational experience on multirotor. I will complete 20 hours of survey operations on the eBee X before the first aeroplane course.")+    & criOtherReOCRoles ?~ NoOtherReOCRoles+    & trainingCourses+      .~ [ mkUnfilledTrainingCourse+            & courseKind ?~ InitialCourse+            & trainingRPA+              .~ operatedType+                djiMavic3Classic+                [ aircraft "1581F4QWD23D0211" [equipment "DJI RC-N1 remote controller" "3NZCK5H0A10322"]+                , aircraft "1581F4QWD23D0230" [equipment "DJI RC-N1 remote controller" "3NZCK5H0A10359"]+                , aircraft "1581F4QWD23D0264" [equipment "DJI RC-N1 remote controller" "3NZCK5H0A10380"]+                ]+            & complexities .~ [AutomatedAndManual]+         , mkUnfilledTrainingCourse+            & courseKind ?~ UpgradeSameCategory+            & trainingRPA .~ operatedType djiMatrice350RTK [aircraft "1ZNDH3P00D1302" [equipment "DJI RC Plus remote controller" "6TBCK7F0G20101"]]+            & complexities .~ [AutomatedAndManual]+         , mkUnfilledTrainingCourse+            & courseKind ?~ UpgradeDifferentCategory+            & trainingRPA .~ operatedType agEagleEBeeX [aircraft "EBX-2-1045" [equipment "eBee ground modem" "GM2-30871"]]+            & complexities .~ [AutomatedOnly]+         ]+    & trainingArrangements . theoryVenues .~ ["the training room at 18 Saltmarsh Drive, Moolap VIC 3224"]+    & trainingArrangements . practicalAreas+      .~ ["a private training field on Wattle Creek Road, Leopold VIC 3224, used with the written permission of the landowner, clear of no-fly zones and populous areas"]+    & trainingArrangements . maxStudentsPerCourse ?~ 6+    & trainingArrangements . maxStudentsPerInstructor ?~ 2+    & trainingArrangements . takeover ?~ SharedController+    & trainingArrangements . theory ?~ BlendedTheory+    & trainingArrangements . exam ?~ ComputerExamination+    & trainingArrangements . examPassMark ?~ 80+    & trainingArrangements . examiner ?~ IndependentExaminerWhereAvailable+    & trainingArrangements . simulator ?~ "DJI Flight Simulator"++-- | The application of Wattle Creek Drone Academy Pty Ltd: valid, or every reason it is not.+wattleCreek :: Either (NonEmpty ReOCError) ReOC+wattleCreek =+  fillReOC wattleCreekInput
+ examples/src/ReOC/Examples.hs view
@@ -0,0 +1,32 @@+{-# OPTIONS_GHC -Wall #-}++{- | Example ReOC applications of made-up operators, each filled in field by+field from 'ReOC.Model.mkUnfilledReOC' and checked by 'ReOC.Fill.fillReOC',+with the name of the directory of @examples@ that holds its documents; and a+draft that is not yet complete.+-}+module ReOC.Examples (+  examples,+  module ReOC.Example.BanksiaPoint,+  module ReOC.Example.Draft,+  module ReOC.Example.Ironbark,+  module ReOC.Example.Saltbush,+  module ReOC.Example.WattleCreek,+) where++import Data.List.NonEmpty (NonEmpty)+import ReOC.Example.BanksiaPoint+import ReOC.Example.Draft+import ReOC.Example.Ironbark+import ReOC.Example.Saltbush+import ReOC.Example.WattleCreek+import ReOC.Model (ReOC, ReOCError)++-- | Each complete example, with the name of its directory: valid, or every reason it is not.+examples :: [(FilePath, Either (NonEmpty ReOCError) ReOC)]+examples =+  [ ("banksia-point-aerial-media", banksiaPoint)+  , ("ironbark-asset-inspection", ironbark)+  , ("saltbush-ag-surveys", saltbush)+  , ("wattle-creek-drone-academy", wattleCreek)+  ]
+ examples/write-examples.hs view
@@ -0,0 +1,43 @@+{-# OPTIONS_GHC -Wall #-}++{- | Writes the documents of each example into its own directory of+@examples@, with the placeholders of the document build:++> cabal run reoc-examples -- --output examples+-}+module Main (main) where++import qualified Data.Text.IO as Text+import ReOC (renderReOCErrors, writeDocuments)+import ReOC.Examples (examples)+import System.Environment (getArgs)+import System.Exit (die)+import System.FilePath ((</>))+import System.IO (stderr)++usage :: String+usage =+  unlines+    [ "usage: reoc-examples [--output DIRECTORY]"+    , ""+    , "Writes the documents of each example into its own directory of DIRECTORY (default examples)."+    ]++main :: IO ()+main = do+  args <- getArgs+  output <- case args of+    [] -> pure "examples"+    ["--output", d] -> pure d+    _ -> die usage+  mapM_+    ( \(name, filled) ->+        case filled of+          Left errors -> do+            Text.hPutStr stderr (renderReOCErrors errors)+            die ("the example " <> name <> " is not valid")+          Right r -> do+            writeDocuments (output </> name) r+            putStrLn ("wrote " <> output </> name)+    )+    examples
+ src/ReOC.hs view
@@ -0,0 +1,48 @@+{-# OPTIONS_GHC -Wall #-}++{- | A ReOC application, RPAS operations manual and RePL training manual as+Haskell data types.++A ReOC is filled in field by field: start from 'mkUnfilledReOC', set each+field with its optic, and 'fillReOC' gives either the valid 'ReOC' or every+reason it is not valid ('renderReOCErrors'), each with the path and help text+of its field. A valid 'ReOC' can also be built with its constructors, and+'writeDocuments' writes the filled CASA Form 101-02 (XFDF), the operations+manual and, with RePL training, the RePL training manual (Flat ODF text) that+it gives.+-}+module ReOC (+  module ReOC.Model,+  module ReOC.Aircraft,+  module ReOC.Amendment,+  module ReOC.Fill,+  module ReOC.Help,+  module ReOC.Input,+  module ReOC.Personnel,+  module ReOC.Risk,+  module ReOC.Render.ApplicationForm,+  module ReOC.Render.BlankForm,+  module ReOC.Render.BuildInfo,+  module ReOC.Render.Error,+  module ReOC.Render.OperationsManual,+  module ReOC.Render.Text,+  module ReOC.Render.TrainingManual,+  module ReOC.Render.Write,+) where++import ReOC.Aircraft+import ReOC.Amendment+import ReOC.Fill+import ReOC.Help+import ReOC.Input+import ReOC.Model+import ReOC.Personnel+import ReOC.Render.ApplicationForm+import ReOC.Render.BlankForm+import ReOC.Render.BuildInfo+import ReOC.Render.Error+import ReOC.Render.OperationsManual+import ReOC.Render.Text+import ReOC.Render.TrainingManual+import ReOC.Render.Write+import ReOC.Risk
+ src/ReOC/Aircraft.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -Wall #-}++{- | The RPA of a ReOC: the types the operator operates, and the training RPA+of its RePL training courses, which both documents list together.+-}+module ReOC.Aircraft (+  rpaName,+  rpaMakeAndModel,+  operatedTypes,+  rpaTypes,+  heaviestGrams,+) where++import Control.Lens (cloneLens, view)+import Data.Foldable (toList)+import Data.List.NonEmpty (NonEmpty)+import qualified Data.List.NonEmpty as NonEmpty+import Data.Text (Text)+import Numeric.Natural (Natural)+import ReOC.Model++-- | The short name of a type of RPA, such as @DJI Mavic 3 Pro@.+rpaName :: RPAType -> Text+rpaName =+  formTextText . view (cloneLens shortName)++-- | The manufacturer and model of a type of RPA, such as @DJI Mavic 3 Pro@.+rpaMakeAndModel :: RPAType -> Text+rpaMakeAndModel t =+  text1Text (view (cloneLens rpaMake) t) <> " " <> text1Text (view (cloneLens rpaModel) t)++{- | Every type of RPA of a ReOC with its RPA: the operator's fleet, then the+training RPA of each RePL training course, each once.+-}+operatedTypes :: ReOC -> NonEmpty OperatedType+operatedTypes r =+  let fleet' = someNonEmpty (view (cloneLens (operator . fleet)) r)+      training =+        maybe [] (map (view (cloneLens trainingRPA)) . toList . view (cloneLens trainingCourses)) (view (cloneLens maybeTrainingMaterial) r)+   in NonEmpty.nub (NonEmpty.appendList fleet' training)++-- | Every type of RPA of a ReOC, each once.+rpaTypes :: ReOC -> NonEmpty RPAType+rpaTypes =+  NonEmpty.nub . fmap (view (cloneLens rpaType)) . operatedTypes++-- | The maximum gross weight of the heaviest type of RPA of a ReOC, in grams.+heaviestGrams :: ReOC -> Natural+heaviestGrams =+  maximum . fmap (grossWeightGrams . view (cloneLens maximumGrossWeight)) . rpaTypes
+ src/ReOC/Amendment.hs view
@@ -0,0 +1,67 @@+{-# OPTIONS_GHC -Wall #-}++{- | The amendment record of an operations manual. The first entry gives its+version and date; each revision follows the entry before it, so the versions+increase and the dates do not go backwards.+-}+module ReOC.Amendment (+  AmendmentEntry,+  amendmentRecord,+  manualVersion,+  manualDate,+  manualReviewDate,+  addMonths,+) where++import Control.Lens (cloneLens, view)+import Data.List.NonEmpty (NonEmpty)+import qualified Data.List.NonEmpty as NonEmpty+import Data.Time.Calendar.Month (Month)+import qualified Data.Time.Calendar.Month as Month+import Numeric.Natural (Natural)+import ReOC.Model++-- | An entry of the amendment record: version, date, effective date, parts and details.+type AmendmentEntry = (Version, Month, Text1, Text1, Text1)++{- | A month a number of months later.++>>> addMonths 12 (Month.YearMonth 2026 10)+2027-10+-}+addMonths :: Natural -> Month -> Month+addMonths n (Month.YearMonth y m) =+  let total = y * 12 + fromIntegral (m - 1) + fromIntegral n+   in Month.YearMonth (total `div` 12) (fromIntegral (total `mod` 12) + 1)++-- | The entries of the amendment record, in order.+amendmentRecord :: OperationsManual -> NonEmpty AmendmentEntry+amendmentRecord m =+  let f = view (cloneLens firstIssue) m+      first = (view (cloneLens version) f, view (cloneLens issueDate) f, view (cloneLens effective) f, view (cloneLens parts) f, view (cloneLens details) f)+      next :: AmendmentEntry -> Revision -> AmendmentEntry+      next (v, d, _, _, _) r =+        ( case view (cloneLens versionIncrement) r of+            MajorRevision -> Version' (view (cloneLens majorVersion) v + 1) 0+            MinorRevision -> Version' (view (cloneLens majorVersion) v) (view (cloneLens minorVersion) v + 1)+        , addMonths (view (cloneLens monthsAfter) r) d+        , view (cloneLens effective) r+        , view (cloneLens parts) r+        , view (cloneLens details) r+        )+   in NonEmpty.scanl next first (view (cloneLens revisions) m)++-- | The version of the manual: the version of its last amendment.+manualVersion :: OperationsManual -> Version+manualVersion m =+  let (v, _, _, _, _) = NonEmpty.last (amendmentRecord m) in v++-- | The date of the manual: the date of its last amendment.+manualDate :: OperationsManual -> Month+manualDate m =+  let (_, d, _, _, _) = NonEmpty.last (amendmentRecord m) in d++-- | The date by which the manual is next reviewed: 12 months after its date.+manualReviewDate :: OperationsManual -> Month+manualReviewDate =+  addMonths 12 . manualDate
+ src/ReOC/Data/Address.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritAddress') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Address'@: an Australian street address.+module ReOC.Data.Address (+  Address' (..),+  Address'Like (..),+  lawNamesAddress',+  Address,+  UnfilledAddress,+  mkUnfilledAddress,+  InheritAddress',+  inheritAddress',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.List.NonEmpty (NonEmpty)+import Data.Text (Text)+import ReOC.Data.AustralianState (AustralianState)+import ReOC.Name.Postcode (PostcodeLike (..))+import ReOC.Name.StateOrTerritory (StateOrTerritoryLike (..))+import ReOC.Name.StreetAddress (StreetAddressLike (..))+import ReOC.Name.Suburb (SuburbLike (..))+import ReOC.Primitive.Postcode (Postcode)+import ReOC.Primitive.Text1 (Text1)++-- | An Australian street address. Its valid form is @Address@, and its unfilled form @UnfilledAddress@.+data Address' a1 a2 a3 a4 = Address' a1 a2 a3 a4+  deriving (Eq, Ord, Show)++-- | The name of the data type @Address'@.+class Address'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' | x -> a1 a2 a3 a4 where+  address' ::+    Optic p f x x' (Address' a1 a2 a3 a4) (Address' a1' a2' a3' a4')++-- | Identity+instance (x' ~ Address' a1' a2' a3' a4') => Address'Like p f (Address' a1 a2 a3 a4) x' a1 a1' a2 a2' a3 a3' a4 a4' where+  address' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Address' a1' a2 a3 a4) => StreetAddressLike p f (Address' a1 a2 a3 a4) x' a1 a1' where+  streetAddress f (Address' x1 x2 x3 x4) = fmap (\x1' -> Address' x1' x2 x3 x4) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Address' a1 a2' a3 a4) => SuburbLike p f (Address' a1 a2 a3 a4) x' a2 a2' where+  suburb f (Address' x1 x2 x3 x4) = fmap (\x2' -> Address' x1 x2' x3 x4) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Address' a1 a2 a3' a4) => StateOrTerritoryLike p f (Address' a1 a2 a3 a4) x' a3 a3' where+  stateOrTerritory f (Address' x1 x2 x3 x4) = fmap (\x3' -> Address' x1 x2 x3' x4) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Address' a1 a2 a3 a4') => PostcodeLike p f (Address' a1 a2 a3 a4) x' a4 a4' where+  postcode f (Address' x1 x2 x3 x4) = fmap (Address' x1 x2 x3) (f x4)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesAddress' == id+-}+lawNamesAddress' :: Address' a1 a2 a3 a4 -> Address' a1 a2 a3 a4+lawNamesAddress' s =+  Address'+    (view (cloneLens streetAddress) s)+    (view (cloneLens suburb) s)+    (view (cloneLens stateOrTerritory) s)+    (view (cloneLens postcode) s)++-- | A valid @Address'@.+type Address = Address' (NonEmpty Text1) Text1 AustralianState Postcode++-- | An unfilled @Address'@: each field holds what has been entered, if anything, to be checked by @fillAddress@.+type UnfilledAddress = Address' [Text] (Maybe Text) (Maybe AustralianState) (Maybe Text)++-- | An unfilled @Address'@ with nothing entered.+mkUnfilledAddress :: UnfilledAddress+mkUnfilledAddress =+  Address'+    []+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @Address'@ in one field, or in one or more constructors, inherits.+type InheritAddress' s a1 a2 a3 a4 =+  ( Address'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4+  , StreetAddressLike (->) (Const ()) s s a1 a1+  , SuburbLike (->) (Const ()) s s a2 a2+  , StateOrTerritoryLike (->) (Const ()) s s a3 a3+  , PostcodeLike (->) (Const ()) s s a4 a4+  )++-- | Checks that a data type inherits every class of @InheritAddress'@.+inheritAddress' :: (InheritAddress' s a1 a2 a3 a4) => proxy s -> ()+inheritAddress' _ = ()
+ src/ReOC/Data/Aircraft.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritAircraft') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Aircraft'@: an RPA: its serial number and its associated equipment.+module ReOC.Data.Aircraft (+  Aircraft' (..),+  Aircraft'Like (..),+  lawNamesAircraft',+  Aircraft,+  UnfilledAircraft,+  mkAircraft,+  mkUnfilledAircraft,+  InheritAircraft',+  inheritAircraft',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Data.Equipment (Equipment, UnfilledEquipment)+import ReOC.Name.AssociatedEquipment (AssociatedEquipmentLike (..))+import ReOC.Name.SerialNumber (SerialNumberLike (..))+import ReOC.Primitive.Text1 (Text1)++-- | An RPA: its serial number and its associated equipment. Its valid form is @Aircraft@, and its unfilled form @UnfilledAircraft@.+data Aircraft' a1 a2 = Aircraft' a1 a2+  deriving (Eq, Ord, Show)++-- | The name of the data type @Aircraft'@.+class Aircraft'Like p f x x' a1 a1' a2 a2' | x -> a1 a2 where+  aircraft' ::+    Optic p f x x' (Aircraft' a1 a2) (Aircraft' a1' a2')++-- | Identity+instance (x' ~ Aircraft' a1' a2') => Aircraft'Like p f (Aircraft' a1 a2) x' a1 a1' a2 a2' where+  aircraft' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Aircraft' a1' a2) => SerialNumberLike p f (Aircraft' a1 a2) x' a1 a1' where+  serialNumber f (Aircraft' x1 x2) = fmap (\x1' -> Aircraft' x1' x2) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Aircraft' a1 a2') => AssociatedEquipmentLike p f (Aircraft' a1 a2) x' a2 a2' where+  associatedEquipment f (Aircraft' x1 x2) = fmap (Aircraft' x1) (f x2)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesAircraft' == id+-}+lawNamesAircraft' :: Aircraft' a1 a2 -> Aircraft' a1 a2+lawNamesAircraft' s =+  Aircraft'+    (view (cloneLens serialNumber) s)+    (view (cloneLens associatedEquipment) s)++-- | A valid @Aircraft'@.+type Aircraft = Aircraft' Text1 [Equipment]++-- | An unfilled @Aircraft'@: each field holds what has been entered, if anything, to be checked by @fillAircraft@.+type UnfilledAircraft = Aircraft' (Maybe Text) [UnfilledEquipment]++-- | Builds a valid @Aircraft'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkAircraft :: Text1 -> Aircraft+mkAircraft x1 = Aircraft' x1 []++-- | An unfilled @Aircraft'@ with nothing entered.+mkUnfilledAircraft :: UnfilledAircraft+mkUnfilledAircraft =+  Aircraft'+    Nothing+    []++-- | The classes that a data type holding @Aircraft'@ in one field, or in one or more constructors, inherits.+type InheritAircraft' s a1 a2 =+  ( Aircraft'Like (->) (Const ()) s s a1 a1 a2 a2+  , SerialNumberLike (->) (Const ()) s s a1 a1+  , AssociatedEquipmentLike (->) (Const ()) s s a2 a2+  )++-- | Checks that a data type inherits every class of @InheritAircraft'@.+inheritAircraft' :: (InheritAircraft' s a1 a2) => proxy s -> ()+inheritAircraft' _ = ()
+ src/ReOC/Data/ApplicationForm.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritApplicationForm') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @ApplicationForm'@: the answers to CASA Form 101-02 that are not part of the operator, the operations manual or the training material, and the written signature of the declarant, if the form is to be signed. Each other document submitted takes a line of the box of question 30.+module ReOC.Data.ApplicationForm (+  ApplicationForm' (..),+  ApplicationForm'Like (..),+  lawNamesApplicationForm',+  ApplicationForm,+  UnfilledApplicationForm,+  mkApplicationForm,+  mkUnfilledApplicationForm,+  InheritApplicationForm',+  inheritApplicationForm',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Data.Declaration (Declaration, UnfilledDeclaration)+import ReOC.Data.PersonnelHistory (PersonnelHistory, UnfilledPersonnelHistory, mkUnfilledPersonnelHistory)+import ReOC.Data.PrimaryContact (PrimaryContact, UnfilledPrimaryContact)+import ReOC.Data.RegulatoryHistory (RegulatoryHistory, UnfilledRegulatoryHistory)+import ReOC.Data.WrittenSignature (UnfilledWrittenSignature, WrittenSignature)+import ReOC.Name.Declaration (DeclarationLike (..))+import ReOC.Name.OtherDocuments (OtherDocumentsLike (..))+import ReOC.Name.PersonnelHistory (PersonnelHistoryLike (..))+import ReOC.Name.PrimaryContact (PrimaryContactLike (..))+import ReOC.Name.ProceduresLibrary (ProceduresLibraryLike (..))+import ReOC.Name.RegulatoryHistory (RegulatoryHistoryLike (..))+import ReOC.Name.Signature (SignatureLike (..))+import ReOC.Primitive.AtMost (AtMost, atMostNone)+import ReOC.Primitive.FormText (FormLine)++-- | The answers to CASA Form 101-02 that are not part of the operator, the operations manual or the training material, and the written signature of the declarant, if the form is to be signed. Each other document submitted takes a line of the box of question 30. Its valid form is @ApplicationForm@, and its unfilled form @UnfilledApplicationForm@.+data ApplicationForm' a1 a2 a3 a4 a5 a6 a7 = ApplicationForm' a1 a2 a3 a4 a5 a6 a7+  deriving (Eq, Ord, Show)++-- | The name of the data type @ApplicationForm'@.+class ApplicationForm'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' | x -> a1 a2 a3 a4 a5 a6 a7 where+  applicationForm' ::+    Optic p f x x' (ApplicationForm' a1 a2 a3 a4 a5 a6 a7) (ApplicationForm' a1' a2' a3' a4' a5' a6' a7')++-- | Identity+instance (x' ~ ApplicationForm' a1' a2' a3' a4' a5' a6' a7') => ApplicationForm'Like p f (ApplicationForm' a1 a2 a3 a4 a5 a6 a7) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' where+  applicationForm' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ ApplicationForm' a1' a2 a3 a4 a5 a6 a7) => PrimaryContactLike p f (ApplicationForm' a1 a2 a3 a4 a5 a6 a7) x' a1 a1' where+  primaryContact f (ApplicationForm' x1 x2 x3 x4 x5 x6 x7) = fmap (\x1' -> ApplicationForm' x1' x2 x3 x4 x5 x6 x7) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ApplicationForm' a1 a2' a3 a4 a5 a6 a7) => PersonnelHistoryLike p f (ApplicationForm' a1 a2 a3 a4 a5 a6 a7) x' a2 a2' where+  personnelHistory f (ApplicationForm' x1 x2 x3 x4 x5 x6 x7) = fmap (\x2' -> ApplicationForm' x1 x2' x3 x4 x5 x6 x7) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ApplicationForm' a1 a2 a3' a4 a5 a6 a7) => RegulatoryHistoryLike p f (ApplicationForm' a1 a2 a3 a4 a5 a6 a7) x' a3 a3' where+  regulatoryHistory f (ApplicationForm' x1 x2 x3 x4 x5 x6 x7) = fmap (\x3' -> ApplicationForm' x1 x2 x3' x4 x5 x6 x7) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ApplicationForm' a1 a2 a3 a4' a5 a6 a7) => ProceduresLibraryLike p f (ApplicationForm' a1 a2 a3 a4 a5 a6 a7) x' a4 a4' where+  proceduresLibrary f (ApplicationForm' x1 x2 x3 x4 x5 x6 x7) = fmap (\x4' -> ApplicationForm' x1 x2 x3 x4' x5 x6 x7) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ApplicationForm' a1 a2 a3 a4 a5' a6 a7) => OtherDocumentsLike p f (ApplicationForm' a1 a2 a3 a4 a5 a6 a7) x' a5 a5' where+  otherDocuments f (ApplicationForm' x1 x2 x3 x4 x5 x6 x7) = fmap (\x5' -> ApplicationForm' x1 x2 x3 x4 x5' x6 x7) (f x5)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ApplicationForm' a1 a2 a3 a4 a5 a6' a7) => DeclarationLike p f (ApplicationForm' a1 a2 a3 a4 a5 a6 a7) x' a6 a6' where+  declaration f (ApplicationForm' x1 x2 x3 x4 x5 x6 x7) = fmap (\x6' -> ApplicationForm' x1 x2 x3 x4 x5 x6' x7) (f x6)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ApplicationForm' a1 a2 a3 a4 a5 a6 a7') => SignatureLike p f (ApplicationForm' a1 a2 a3 a4 a5 a6 a7) x' a7 a7' where+  signature f (ApplicationForm' x1 x2 x3 x4 x5 x6 x7) = fmap (ApplicationForm' x1 x2 x3 x4 x5 x6) (f x7)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesApplicationForm' == id+-}+lawNamesApplicationForm' :: ApplicationForm' a1 a2 a3 a4 a5 a6 a7 -> ApplicationForm' a1 a2 a3 a4 a5 a6 a7+lawNamesApplicationForm' s =+  ApplicationForm'+    (view (cloneLens primaryContact) s)+    (view (cloneLens personnelHistory) s)+    (view (cloneLens regulatoryHistory) s)+    (view (cloneLens proceduresLibrary) s)+    (view (cloneLens otherDocuments) s)+    (view (cloneLens declaration) s)+    (view (cloneLens signature) s)++-- | A valid @ApplicationForm'@.+type ApplicationForm = ApplicationForm' PrimaryContact PersonnelHistory RegulatoryHistory Bool (AtMost 6 FormLine) Declaration (Maybe WrittenSignature)++-- | An unfilled @ApplicationForm'@: each field holds what has been entered, if anything, to be checked by @fillApplicationForm@.+type UnfilledApplicationForm = ApplicationForm' (Maybe UnfilledPrimaryContact) UnfilledPersonnelHistory (Maybe UnfilledRegulatoryHistory) (Maybe Bool) [Text] (Maybe UnfilledDeclaration) (Maybe UnfilledWrittenSignature)++-- | Builds a valid @ApplicationForm'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkApplicationForm :: PrimaryContact -> PersonnelHistory -> RegulatoryHistory -> Bool -> Declaration -> ApplicationForm+mkApplicationForm x1 x2 x3 x4 x5 = ApplicationForm' x1 x2 x3 x4 atMostNone x5 Nothing++-- | An unfilled @ApplicationForm'@ with nothing entered.+mkUnfilledApplicationForm :: UnfilledApplicationForm+mkUnfilledApplicationForm =+  ApplicationForm'+    Nothing+    mkUnfilledPersonnelHistory+    Nothing+    Nothing+    []+    Nothing+    Nothing++-- | The classes that a data type holding @ApplicationForm'@ in one field, or in one or more constructors, inherits.+type InheritApplicationForm' s a1 a2 a3 a4 a5 a6 a7 =+  ( ApplicationForm'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 a6 a6 a7 a7+  , PrimaryContactLike (->) (Const ()) s s a1 a1+  , PersonnelHistoryLike (->) (Const ()) s s a2 a2+  , RegulatoryHistoryLike (->) (Const ()) s s a3 a3+  , ProceduresLibraryLike (->) (Const ()) s s a4 a4+  , OtherDocumentsLike (->) (Const ()) s s a5 a5+  , DeclarationLike (->) (Const ()) s s a6 a6+  , SignatureLike (->) (Const ()) s s a7 a7+  )++-- | Checks that a data type inherits every class of @InheritApplicationForm'@.+inheritApplicationForm' :: (InheritApplicationForm' s a1 a2 a3 a4 a5 a6 a7) => proxy s -> ()+inheritApplicationForm' _ = ()
+ src/ReOC/Data/AustralianState.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritAustralianState) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @AustralianState@: a state or territory of Australia.+module ReOC.Data.AustralianState (+  AustralianState (..),+  AustralianStateLike (..),+  lawNamesAustralianState,+  InheritAustralianState,+  inheritAustralianState,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.AustralianCapitalTerritory (AustralianCapitalTerritoryLike (..))+import ReOC.Name.NewSouthWales (NewSouthWalesLike (..))+import ReOC.Name.NorthernTerritory (NorthernTerritoryLike (..))+import ReOC.Name.Queensland (QueenslandLike (..))+import ReOC.Name.SouthAustralia (SouthAustraliaLike (..))+import ReOC.Name.Tasmania (TasmaniaLike (..))+import ReOC.Name.Victoria (VictoriaLike (..))+import ReOC.Name.WesternAustralia (WesternAustraliaLike (..))++-- | A state or territory of Australia.+data AustralianState+  = NewSouthWales+  | Victoria+  | Queensland+  | WesternAustralia+  | SouthAustralia+  | Tasmania+  | AustralianCapitalTerritory+  | NorthernTerritory+  deriving (Eq, Ord, Show)++-- | The name of the data type @AustralianState@.+class AustralianStateLike p f x x' where+  australianState ::+    Optic p f x x' AustralianState AustralianState++-- | Identity+instance (x' ~ AustralianState) => AustralianStateLike p f AustralianState x' where+  australianState = id++-- | Prism+instance (Choice p, Applicative f, x' ~ AustralianState) => NewSouthWalesLike p f AustralianState x' where+  newSouthWales = prism' (\() -> NewSouthWales) (\case NewSouthWales -> Just (); Victoria -> Nothing; Queensland -> Nothing; WesternAustralia -> Nothing; SouthAustralia -> Nothing; Tasmania -> Nothing; AustralianCapitalTerritory -> Nothing; NorthernTerritory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ AustralianState) => VictoriaLike p f AustralianState x' where+  victoria = prism' (\() -> Victoria) (\case NewSouthWales -> Nothing; Victoria -> Just (); Queensland -> Nothing; WesternAustralia -> Nothing; SouthAustralia -> Nothing; Tasmania -> Nothing; AustralianCapitalTerritory -> Nothing; NorthernTerritory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ AustralianState) => QueenslandLike p f AustralianState x' where+  queensland = prism' (\() -> Queensland) (\case NewSouthWales -> Nothing; Victoria -> Nothing; Queensland -> Just (); WesternAustralia -> Nothing; SouthAustralia -> Nothing; Tasmania -> Nothing; AustralianCapitalTerritory -> Nothing; NorthernTerritory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ AustralianState) => WesternAustraliaLike p f AustralianState x' where+  westernAustralia = prism' (\() -> WesternAustralia) (\case NewSouthWales -> Nothing; Victoria -> Nothing; Queensland -> Nothing; WesternAustralia -> Just (); SouthAustralia -> Nothing; Tasmania -> Nothing; AustralianCapitalTerritory -> Nothing; NorthernTerritory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ AustralianState) => SouthAustraliaLike p f AustralianState x' where+  southAustralia = prism' (\() -> SouthAustralia) (\case NewSouthWales -> Nothing; Victoria -> Nothing; Queensland -> Nothing; WesternAustralia -> Nothing; SouthAustralia -> Just (); Tasmania -> Nothing; AustralianCapitalTerritory -> Nothing; NorthernTerritory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ AustralianState) => TasmaniaLike p f AustralianState x' where+  tasmania = prism' (\() -> Tasmania) (\case NewSouthWales -> Nothing; Victoria -> Nothing; Queensland -> Nothing; WesternAustralia -> Nothing; SouthAustralia -> Nothing; Tasmania -> Just (); AustralianCapitalTerritory -> Nothing; NorthernTerritory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ AustralianState) => AustralianCapitalTerritoryLike p f AustralianState x' where+  australianCapitalTerritory = prism' (\() -> AustralianCapitalTerritory) (\case NewSouthWales -> Nothing; Victoria -> Nothing; Queensland -> Nothing; WesternAustralia -> Nothing; SouthAustralia -> Nothing; Tasmania -> Nothing; AustralianCapitalTerritory -> Just (); NorthernTerritory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ AustralianState) => NorthernTerritoryLike p f AustralianState x' where+  northernTerritory = prism' (\() -> NorthernTerritory) (\case NewSouthWales -> Nothing; Victoria -> Nothing; Queensland -> Nothing; WesternAustralia -> Nothing; SouthAustralia -> Nothing; Tasmania -> Nothing; AustralianCapitalTerritory -> Nothing; NorthernTerritory -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesAustralianState == id+-}+lawNamesAustralianState :: AustralianState -> AustralianState+lawNamesAustralianState = \case+  NewSouthWales -> review newSouthWales ()+  Victoria -> review victoria ()+  Queensland -> review queensland ()+  WesternAustralia -> review westernAustralia ()+  SouthAustralia -> review southAustralia ()+  Tasmania -> review tasmania ()+  AustralianCapitalTerritory -> review australianCapitalTerritory ()+  NorthernTerritory -> review northernTerritory ()++-- | The classes that a data type holding @AustralianState@ in one field, or in one or more constructors, inherits.+type InheritAustralianState s =+  ( AustralianStateLike (->) (Const ()) s s+  , NewSouthWalesLike (->) (Const ()) s s+  , VictoriaLike (->) (Const ()) s s+  , QueenslandLike (->) (Const ()) s s+  , WesternAustraliaLike (->) (Const ()) s s+  , SouthAustraliaLike (->) (Const ()) s s+  , TasmaniaLike (->) (Const ()) s s+  , AustralianCapitalTerritoryLike (->) (Const ()) s s+  , NorthernTerritoryLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritAustralianState@.+inheritAustralianState :: (InheritAustralianState s) => proxy s -> ()+inheritAustralianState _ = ()
+ src/ReOC/Data/BackupInterval.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritBackupInterval) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @BackupInterval@: the longest interval between backups of the operator’s records.+module ReOC.Data.BackupInterval (+  BackupInterval (..),+  BackupIntervalLike (..),+  lawNamesBackupInterval,+  InheritBackupInterval,+  inheritBackupInterval,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.Daily (DailyLike (..))+import ReOC.Name.Monthly (MonthlyLike (..))+import ReOC.Name.Weekly (WeeklyLike (..))++-- | The longest interval between backups of the operator’s records.+data BackupInterval+  = Daily+  | Weekly+  | Monthly+  deriving (Eq, Ord, Show)++-- | The name of the data type @BackupInterval@.+class BackupIntervalLike p f x x' where+  backupInterval ::+    Optic p f x x' BackupInterval BackupInterval++-- | Identity+instance (x' ~ BackupInterval) => BackupIntervalLike p f BackupInterval x' where+  backupInterval = id++-- | Prism+instance (Choice p, Applicative f, x' ~ BackupInterval) => DailyLike p f BackupInterval x' where+  daily = prism' (\() -> Daily) (\case Daily -> Just (); Weekly -> Nothing; Monthly -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ BackupInterval) => WeeklyLike p f BackupInterval x' where+  weekly = prism' (\() -> Weekly) (\case Daily -> Nothing; Weekly -> Just (); Monthly -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ BackupInterval) => MonthlyLike p f BackupInterval x' where+  monthly = prism' (\() -> Monthly) (\case Daily -> Nothing; Weekly -> Nothing; Monthly -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesBackupInterval == id+-}+lawNamesBackupInterval :: BackupInterval -> BackupInterval+lawNamesBackupInterval = \case+  Daily -> review daily ()+  Weekly -> review weekly ()+  Monthly -> review monthly ()++-- | The classes that a data type holding @BackupInterval@ in one field, or in one or more constructors, inherits.+type InheritBackupInterval s =+  ( BackupIntervalLike (->) (Const ()) s s+  , DailyLike (->) (Const ()) s s+  , WeeklyLike (->) (Const ()) s s+  , MonthlyLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritBackupInterval@.+inheritBackupInterval :: (InheritBackupInterval s) => proxy s -> ()+inheritBackupInterval _ = ()
+ src/ReOC/Data/CRINominee.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritCRINominee') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @CRINominee'@: who is nominated as chief RePL instructor (CASA Form 101-02, question 13): the CEO, the chief remote pilot, the maintenance controller, or another person.+module ReOC.Data.CRINominee (+  CRINominee' (..),+  CRINominee'Like (..),+  lawNamesCRINominee',+  CRINominee,+  UnfilledCRINominee,+  InheritCRINominee',+  inheritCRINominee',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import ReOC.Data.Nominee (Nominee, UnfilledNominee)+import ReOC.Name.CriIsCEO (CriIsCEOLike (..))+import ReOC.Name.CriIsCRP (CriIsCRPLike (..))+import ReOC.Name.CriIsMC (CriIsMCLike (..))+import ReOC.Name.CriNominated (CriNominatedLike (..))++-- | Who is nominated as chief RePL instructor (CASA Form 101-02, question 13): the CEO, the chief remote pilot, the maintenance controller, or another person. Its valid form is @CRINominee@, and its unfilled form @UnfilledCRINominee@.+data CRINominee' a1+  = CRIIsCEO+  | CRIIsCRP+  | CRIIsMC+  | CRINominated a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @CRINominee'@.+class CRINominee'Like p f x x' a1 a1' | x -> a1 where+  criNominee' ::+    Optic p f x x' (CRINominee' a1) (CRINominee' a1')++-- | Identity+instance (x' ~ CRINominee' a1') => CRINominee'Like p f (CRINominee' a1) x' a1 a1' where+  criNominee' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ CRINominee' a1) => CriIsCEOLike p f (CRINominee' a1) x' where+  criIsCEO = prism' (\() -> CRIIsCEO) (\case CRIIsCEO -> Just (); CRIIsCRP -> Nothing; CRIIsMC -> Nothing; CRINominated _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ CRINominee' a1) => CriIsCRPLike p f (CRINominee' a1) x' where+  criIsCRP = prism' (\() -> CRIIsCRP) (\case CRIIsCEO -> Nothing; CRIIsCRP -> Just (); CRIIsMC -> Nothing; CRINominated _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ CRINominee' a1) => CriIsMCLike p f (CRINominee' a1) x' where+  criIsMC = prism' (\() -> CRIIsMC) (\case CRIIsCEO -> Nothing; CRIIsCRP -> Nothing; CRIIsMC -> Just (); CRINominated _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ CRINominee' a1') => CriNominatedLike p f (CRINominee' a1) x' a1 a1' where+  criNominated = prism CRINominated (\case CRIIsCEO -> Left CRIIsCEO; CRIIsCRP -> Left CRIIsCRP; CRIIsMC -> Left CRIIsMC; CRINominated x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesCRINominee' == id+-}+lawNamesCRINominee' :: CRINominee' a1 -> CRINominee' a1+lawNamesCRINominee' = \case+  CRIIsCEO -> review criIsCEO ()+  CRIIsCRP -> review criIsCRP ()+  CRIIsMC -> review criIsMC ()+  CRINominated x -> review criNominated x++-- | A valid @CRINominee'@.+type CRINominee = CRINominee' Nominee++-- | An unfilled @CRINominee'@: each field holds what has been entered, if anything, to be checked by @fillCRINominee@.+type UnfilledCRINominee = CRINominee' UnfilledNominee++-- | The classes that a data type holding @CRINominee'@ in one field, or in one or more constructors, inherits.+type InheritCRINominee' s a1 =+  ( CRINominee'Like (->) (Const ()) s s a1 a1+  , CriIsCEOLike (->) (Const ()) s s+  , CriIsCRPLike (->) (Const ()) s s+  , CriIsMCLike (->) (Const ()) s s+  , CriNominatedLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritCRINominee'@.+inheritCRINominee' :: (InheritCRINominee' s a1) => proxy s -> ()+inheritCRINominee' _ = ()
+ src/ReOC/Data/CRPNominee.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritCRPNominee') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @CRPNominee'@: who is nominated as chief remote pilot: the CEO, or another person.+module ReOC.Data.CRPNominee (+  CRPNominee' (..),+  CRPNominee'Like (..),+  lawNamesCRPNominee',+  CRPNominee,+  UnfilledCRPNominee,+  InheritCRPNominee',+  inheritCRPNominee',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import ReOC.Data.Nominee (Nominee, UnfilledNominee)+import ReOC.Name.CrpIsCEO (CrpIsCEOLike (..))+import ReOC.Name.CrpNominated (CrpNominatedLike (..))++-- | Who is nominated as chief remote pilot: the CEO, or another person. Its valid form is @CRPNominee@, and its unfilled form @UnfilledCRPNominee@.+data CRPNominee' a1+  = CRPIsCEO+  | CRPNominated a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @CRPNominee'@.+class CRPNominee'Like p f x x' a1 a1' | x -> a1 where+  crpNominee' ::+    Optic p f x x' (CRPNominee' a1) (CRPNominee' a1')++-- | Identity+instance (x' ~ CRPNominee' a1') => CRPNominee'Like p f (CRPNominee' a1) x' a1 a1' where+  crpNominee' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ CRPNominee' a1) => CrpIsCEOLike p f (CRPNominee' a1) x' where+  crpIsCEO = prism' (\() -> CRPIsCEO) (\case CRPIsCEO -> Just (); CRPNominated _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ CRPNominee' a1') => CrpNominatedLike p f (CRPNominee' a1) x' a1 a1' where+  crpNominated = prism CRPNominated (\case CRPIsCEO -> Left CRPIsCEO; CRPNominated x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesCRPNominee' == id+-}+lawNamesCRPNominee' :: CRPNominee' a1 -> CRPNominee' a1+lawNamesCRPNominee' = \case+  CRPIsCEO -> review crpIsCEO ()+  CRPNominated x -> review crpNominated x++-- | A valid @CRPNominee'@.+type CRPNominee = CRPNominee' Nominee++-- | An unfilled @CRPNominee'@: each field holds what has been entered, if anything, to be checked by @fillCRPNominee@.+type UnfilledCRPNominee = CRPNominee' UnfilledNominee++-- | The classes that a data type holding @CRPNominee'@ in one field, or in one or more constructors, inherits.+type InheritCRPNominee' s a1 =+  ( CRPNominee'Like (->) (Const ()) s s a1 a1+  , CrpIsCEOLike (->) (Const ()) s s+  , CrpNominatedLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritCRPNominee'@.+inheritCRPNominee' :: (InheritCRPNominee' s a1) => proxy s -> ()+inheritCRPNominee' _ = ()
+ src/ReOC/Data/ChiefExecutive.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritChiefExecutive') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @ChiefExecutive'@: the nominated CEO (CASA Form 101-02, question 7).+module ReOC.Data.ChiefExecutive (+  ChiefExecutive' (..),+  ChiefExecutive'Like (..),+  lawNamesChiefExecutive',+  ChiefExecutive,+  UnfilledChiefExecutive,+  mkChiefExecutive,+  mkUnfilledChiefExecutive,+  InheritChiefExecutive',+  inheritChiefExecutive',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Data.Directorship (Directorship)+import ReOC.Data.Nominee (Nominee, UnfilledNominee, mkUnfilledNominee)+import ReOC.Name.DirectorStatus (DirectorStatusLike (..))+import ReOC.Name.ManagementExperience (ManagementExperienceLike (..))+import ReOC.Name.Nominee (NomineeLike (..))+import ReOC.Primitive.FormText (FormLines)++-- | The nominated CEO (CASA Form 101-02, question 7). Its valid form is @ChiefExecutive@, and its unfilled form @UnfilledChiefExecutive@.+data ChiefExecutive' a1 a2 a3 = ChiefExecutive' a1 a2 a3+  deriving (Eq, Ord, Show)++-- | The name of the data type @ChiefExecutive'@.+class ChiefExecutive'Like p f x x' a1 a1' a2 a2' a3 a3' | x -> a1 a2 a3 where+  chiefExecutive' ::+    Optic p f x x' (ChiefExecutive' a1 a2 a3) (ChiefExecutive' a1' a2' a3')++-- | Identity+instance (x' ~ ChiefExecutive' a1' a2' a3') => ChiefExecutive'Like p f (ChiefExecutive' a1 a2 a3) x' a1 a1' a2 a2' a3 a3' where+  chiefExecutive' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ ChiefExecutive' a1' a2 a3) => NomineeLike p f (ChiefExecutive' a1 a2 a3) x' a1 a1' where+  nominee f (ChiefExecutive' x1 x2 x3) = fmap (\x1' -> ChiefExecutive' x1' x2 x3) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ChiefExecutive' a1 a2' a3) => DirectorStatusLike p f (ChiefExecutive' a1 a2 a3) x' a2 a2' where+  directorStatus f (ChiefExecutive' x1 x2 x3) = fmap (\x2' -> ChiefExecutive' x1 x2' x3) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ChiefExecutive' a1 a2 a3') => ManagementExperienceLike p f (ChiefExecutive' a1 a2 a3) x' a3 a3' where+  managementExperience f (ChiefExecutive' x1 x2 x3) = fmap (ChiefExecutive' x1 x2) (f x3)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesChiefExecutive' == id+-}+lawNamesChiefExecutive' :: ChiefExecutive' a1 a2 a3 -> ChiefExecutive' a1 a2 a3+lawNamesChiefExecutive' s =+  ChiefExecutive'+    (view (cloneLens nominee) s)+    (view (cloneLens directorStatus) s)+    (view (cloneLens managementExperience) s)++-- | A valid @ChiefExecutive'@.+type ChiefExecutive = ChiefExecutive' Nominee Directorship (Maybe (FormLines 6))++-- | An unfilled @ChiefExecutive'@: each field holds what has been entered, if anything, to be checked by @fillChiefExecutive@.+type UnfilledChiefExecutive = ChiefExecutive' UnfilledNominee (Maybe Directorship) (Maybe Text)++-- | Builds a valid @ChiefExecutive'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkChiefExecutive :: Nominee -> Directorship -> ChiefExecutive+mkChiefExecutive x1 x2 = ChiefExecutive' x1 x2 Nothing++-- | An unfilled @ChiefExecutive'@ with nothing entered.+mkUnfilledChiefExecutive :: UnfilledChiefExecutive+mkUnfilledChiefExecutive =+  ChiefExecutive'+    mkUnfilledNominee+    Nothing+    Nothing++-- | The classes that a data type holding @ChiefExecutive'@ in one field, or in one or more constructors, inherits.+type InheritChiefExecutive' s a1 a2 a3 =+  ( ChiefExecutive'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3+  , NomineeLike (->) (Const ()) s s a1 a1+  , DirectorStatusLike (->) (Const ()) s s a2 a2+  , ManagementExperienceLike (->) (Const ()) s s a3 a3+  )++-- | Checks that a data type inherits every class of @InheritChiefExecutive'@.+inheritChiefExecutive' :: (InheritChiefExecutive' s a1 a2 a3) => proxy s -> ()+inheritChiefExecutive' _ = ()
+ src/ReOC/Data/ChiefPilot.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritChiefPilot') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @ChiefPilot'@: the nominated chief remote pilot (CASA Form 101-02, questions 8 to 11).+module ReOC.Data.ChiefPilot (+  ChiefPilot' (..),+  ChiefPilot'Like (..),+  lawNamesChiefPilot',+  ChiefPilot,+  UnfilledChiefPilot,+  mkUnfilledChiefPilot,+  InheritChiefPilot',+  inheritChiefPilot',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Data.CRPNominee (CRPNominee, UnfilledCRPNominee)+import ReOC.Data.OtherReOCRoles (OtherReOCRoles, UnfilledOtherReOCRoles)+import ReOC.Data.RadioQualification (RadioQualification)+import ReOC.Data.RePLOrigin (RePLOrigin, UnfilledRePLOrigin)+import ReOC.Name.CrpNominee (CrpNomineeLike (..))+import ReOC.Name.OtherReOCRoles (OtherReOCRolesLike (..))+import ReOC.Name.Radio (RadioLike (..))+import ReOC.Name.RePLOrigin (RePLOriginLike (..))+import ReOC.Name.RpaHistory (RpaHistoryLike (..))+import ReOC.Primitive.FormText (FormLines)++-- | The nominated chief remote pilot (CASA Form 101-02, questions 8 to 11). Its valid form is @ChiefPilot@, and its unfilled form @UnfilledChiefPilot@.+data ChiefPilot' a1 a2 a3 a4 a5 = ChiefPilot' a1 a2 a3 a4 a5+  deriving (Eq, Ord, Show)++-- | The name of the data type @ChiefPilot'@.+class ChiefPilot'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' | x -> a1 a2 a3 a4 a5 where+  chiefPilot' ::+    Optic p f x x' (ChiefPilot' a1 a2 a3 a4 a5) (ChiefPilot' a1' a2' a3' a4' a5')++-- | Identity+instance (x' ~ ChiefPilot' a1' a2' a3' a4' a5') => ChiefPilot'Like p f (ChiefPilot' a1 a2 a3 a4 a5) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' where+  chiefPilot' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ ChiefPilot' a1' a2 a3 a4 a5) => CrpNomineeLike p f (ChiefPilot' a1 a2 a3 a4 a5) x' a1 a1' where+  crpNominee f (ChiefPilot' x1 x2 x3 x4 x5) = fmap (\x1' -> ChiefPilot' x1' x2 x3 x4 x5) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ChiefPilot' a1 a2' a3 a4 a5) => RePLOriginLike p f (ChiefPilot' a1 a2 a3 a4 a5) x' a2 a2' where+  rePLOrigin f (ChiefPilot' x1 x2 x3 x4 x5) = fmap (\x2' -> ChiefPilot' x1 x2' x3 x4 x5) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ChiefPilot' a1 a2 a3' a4 a5) => RpaHistoryLike p f (ChiefPilot' a1 a2 a3 a4 a5) x' a3 a3' where+  rpaHistory f (ChiefPilot' x1 x2 x3 x4 x5) = fmap (\x3' -> ChiefPilot' x1 x2 x3' x4 x5) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ChiefPilot' a1 a2 a3 a4' a5) => OtherReOCRolesLike p f (ChiefPilot' a1 a2 a3 a4 a5) x' a4 a4' where+  otherReOCRoles f (ChiefPilot' x1 x2 x3 x4 x5) = fmap (\x4' -> ChiefPilot' x1 x2 x3 x4' x5) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ChiefPilot' a1 a2 a3 a4 a5') => RadioLike p f (ChiefPilot' a1 a2 a3 a4 a5) x' a5 a5' where+  radio f (ChiefPilot' x1 x2 x3 x4 x5) = fmap (ChiefPilot' x1 x2 x3 x4) (f x5)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesChiefPilot' == id+-}+lawNamesChiefPilot' :: ChiefPilot' a1 a2 a3 a4 a5 -> ChiefPilot' a1 a2 a3 a4 a5+lawNamesChiefPilot' s =+  ChiefPilot'+    (view (cloneLens crpNominee) s)+    (view (cloneLens rePLOrigin) s)+    (view (cloneLens rpaHistory) s)+    (view (cloneLens otherReOCRoles) s)+    (view (cloneLens radio) s)++-- | A valid @ChiefPilot'@.+type ChiefPilot = ChiefPilot' CRPNominee RePLOrigin (FormLines 8) OtherReOCRoles RadioQualification++-- | An unfilled @ChiefPilot'@: each field holds what has been entered, if anything, to be checked by @fillChiefPilot@.+type UnfilledChiefPilot = ChiefPilot' (Maybe UnfilledCRPNominee) (Maybe UnfilledRePLOrigin) (Maybe Text) (Maybe UnfilledOtherReOCRoles) (Maybe RadioQualification)++-- | An unfilled @ChiefPilot'@ with nothing entered.+mkUnfilledChiefPilot :: UnfilledChiefPilot+mkUnfilledChiefPilot =+  ChiefPilot'+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @ChiefPilot'@ in one field, or in one or more constructors, inherits.+type InheritChiefPilot' s a1 a2 a3 a4 a5 =+  ( ChiefPilot'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5+  , CrpNomineeLike (->) (Const ()) s s a1 a1+  , RePLOriginLike (->) (Const ()) s s a2 a2+  , RpaHistoryLike (->) (Const ()) s s a3 a3+  , OtherReOCRolesLike (->) (Const ()) s s a4 a4+  , RadioLike (->) (Const ()) s s a5 a5+  )++-- | Checks that a data type inherits every class of @InheritChiefPilot'@.+inheritChiefPilot' :: (InheritChiefPilot' s a1 a2 a3 a4 a5) => proxy s -> ()+inheritChiefPilot' _ = ()
+ src/ReOC/Data/Company.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritCompany') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Company'@: the proprietary company that applies for, and holds, the ReOC. Its legal name is its name followed by "Pty Ltd", which must fit question 1 of the form.+module ReOC.Data.Company (+  Company' (..),+  Company'Like (..),+  lawNamesCompany',+  Company,+  UnfilledCompany,+  mkCompany,+  mkUnfilledCompany,+  InheritCompany',+  inheritCompany',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Data.Address (Address, UnfilledAddress, mkUnfilledAddress)+import ReOC.Data.OperationalHeadquarters (OperationalHeadquarters, UnfilledOperationalHeadquarters)+import ReOC.Name.Abn (AbnLike (..))+import ReOC.Name.Arn (ArnLike (..))+import ReOC.Name.BusinessName (BusinessNameLike (..))+import ReOC.Name.CompanyName (CompanyNameLike (..))+import ReOC.Name.EmailAddress (EmailAddressLike (..))+import ReOC.Name.OperationalHeadquarters (OperationalHeadquartersLike (..))+import ReOC.Name.PhoneNumber (PhoneNumberLike (..))+import ReOC.Name.RegisteredOffice (RegisteredOfficeLike (..))+import ReOC.Primitive.ABN (ABN)+import ReOC.Primitive.ARN (ARN)+import ReOC.Primitive.EmailAddress (EmailAddress)+import ReOC.Primitive.FormText (FormFont (..), FormLine, FormText)+import ReOC.Primitive.PhoneNumber (PhoneNumber)++-- | The proprietary company that applies for, and holds, the ReOC. Its legal name is its name followed by "Pty Ltd", which must fit question 1 of the form. Its valid form is @Company@, and its unfilled form @UnfilledCompany@.+data Company' a1 a2 a3 a4 a5 a6 a7 a8 = Company' a1 a2 a3 a4 a5 a6 a7 a8+  deriving (Eq, Ord, Show)++-- | The name of the data type @Company'@.+class Company'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' | x -> a1 a2 a3 a4 a5 a6 a7 a8 where+  company' ::+    Optic p f x x' (Company' a1 a2 a3 a4 a5 a6 a7 a8) (Company' a1' a2' a3' a4' a5' a6' a7' a8')++-- | Identity+instance (x' ~ Company' a1' a2' a3' a4' a5' a6' a7' a8') => Company'Like p f (Company' a1 a2 a3 a4 a5 a6 a7 a8) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' where+  company' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Company' a1' a2 a3 a4 a5 a6 a7 a8) => CompanyNameLike p f (Company' a1 a2 a3 a4 a5 a6 a7 a8) x' a1 a1' where+  companyName f (Company' x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\x1' -> Company' x1' x2 x3 x4 x5 x6 x7 x8) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Company' a1 a2' a3 a4 a5 a6 a7 a8) => AbnLike p f (Company' a1 a2 a3 a4 a5 a6 a7 a8) x' a2 a2' where+  abn f (Company' x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\x2' -> Company' x1 x2' x3 x4 x5 x6 x7 x8) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Company' a1 a2 a3' a4 a5 a6 a7 a8) => ArnLike p f (Company' a1 a2 a3 a4 a5 a6 a7 a8) x' a3 a3' where+  arn f (Company' x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\x3' -> Company' x1 x2 x3' x4 x5 x6 x7 x8) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Company' a1 a2 a3 a4' a5 a6 a7 a8) => RegisteredOfficeLike p f (Company' a1 a2 a3 a4 a5 a6 a7 a8) x' a4 a4' where+  registeredOffice f (Company' x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\x4' -> Company' x1 x2 x3 x4' x5 x6 x7 x8) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Company' a1 a2 a3 a4 a5' a6 a7 a8) => OperationalHeadquartersLike p f (Company' a1 a2 a3 a4 a5 a6 a7 a8) x' a5 a5' where+  operationalHeadquarters f (Company' x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\x5' -> Company' x1 x2 x3 x4 x5' x6 x7 x8) (f x5)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Company' a1 a2 a3 a4 a5 a6' a7 a8) => PhoneNumberLike p f (Company' a1 a2 a3 a4 a5 a6 a7 a8) x' a6 a6' where+  phoneNumber f (Company' x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\x6' -> Company' x1 x2 x3 x4 x5 x6' x7 x8) (f x6)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Company' a1 a2 a3 a4 a5 a6 a7' a8) => EmailAddressLike p f (Company' a1 a2 a3 a4 a5 a6 a7 a8) x' a7 a7' where+  emailAddress f (Company' x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\x7' -> Company' x1 x2 x3 x4 x5 x6 x7' x8) (f x7)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Company' a1 a2 a3 a4 a5 a6 a7 a8') => BusinessNameLike p f (Company' a1 a2 a3 a4 a5 a6 a7 a8) x' a8 a8' where+  businessName f (Company' x1 x2 x3 x4 x5 x6 x7 x8) = fmap (Company' x1 x2 x3 x4 x5 x6 x7) (f x8)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesCompany' == id+-}+lawNamesCompany' :: Company' a1 a2 a3 a4 a5 a6 a7 a8 -> Company' a1 a2 a3 a4 a5 a6 a7 a8+lawNamesCompany' s =+  Company'+    (view (cloneLens companyName) s)+    (view (cloneLens abn) s)+    (view (cloneLens arn) s)+    (view (cloneLens registeredOffice) s)+    (view (cloneLens operationalHeadquarters) s)+    (view (cloneLens phoneNumber) s)+    (view (cloneLens emailAddress) s)+    (view (cloneLens businessName) s)++-- | A valid @Company'@.+type Company = Company' (FormText 'Narrow 185 1) ABN ARN Address OperationalHeadquarters PhoneNumber EmailAddress (Maybe FormLine)++-- | An unfilled @Company'@: each field holds what has been entered, if anything, to be checked by @fillCompany@.+type UnfilledCompany = Company' (Maybe Text) (Maybe Text) (Maybe Text) UnfilledAddress (Maybe UnfilledOperationalHeadquarters) (Maybe Text) (Maybe Text) (Maybe Text)++-- | Builds a valid @Company'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkCompany :: FormText 'Narrow 185 1 -> ABN -> ARN -> Address -> OperationalHeadquarters -> PhoneNumber -> EmailAddress -> Company+mkCompany x1 x2 x3 x4 x5 x6 x7 = Company' x1 x2 x3 x4 x5 x6 x7 Nothing++-- | An unfilled @Company'@ with nothing entered.+mkUnfilledCompany :: UnfilledCompany+mkUnfilledCompany =+  Company'+    Nothing+    Nothing+    Nothing+    mkUnfilledAddress+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @Company'@ in one field, or in one or more constructors, inherits.+type InheritCompany' s a1 a2 a3 a4 a5 a6 a7 a8 =+  ( Company'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 a6 a6 a7 a7 a8 a8+  , CompanyNameLike (->) (Const ()) s s a1 a1+  , AbnLike (->) (Const ()) s s a2 a2+  , ArnLike (->) (Const ()) s s a3 a3+  , RegisteredOfficeLike (->) (Const ()) s s a4 a4+  , OperationalHeadquartersLike (->) (Const ()) s s a5 a5+  , PhoneNumberLike (->) (Const ()) s s a6 a6+  , EmailAddressLike (->) (Const ()) s s a7 a7+  , BusinessNameLike (->) (Const ()) s s a8 a8+  )++-- | Checks that a data type inherits every class of @InheritCompany'@.+inheritCompany' :: (InheritCompany' s a1 a2 a3 a4 a5 a6 a7 a8) => proxy s -> ()+inheritCompany' _ = ()
+ src/ReOC/Data/Complexity.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritComplexity) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Complexity@: the complexity of a RePL training course (CASA Form 101-02, question 29). Liquid fuel is for RPA over 25 kg, which the operations manual does not cover.+module ReOC.Data.Complexity (+  Complexity (..),+  ComplexityLike (..),+  lawNamesComplexity,+  InheritComplexity,+  inheritComplexity,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.AutomatedAndManual (AutomatedAndManualLike (..))+import ReOC.Name.AutomatedOnly (AutomatedOnlyLike (..))++-- | The complexity of a RePL training course (CASA Form 101-02, question 29). Liquid fuel is for RPA over 25 kg, which the operations manual does not cover.+data Complexity+  = AutomatedAndManual+  | AutomatedOnly+  deriving (Eq, Ord, Show)++-- | The name of the data type @Complexity@.+class ComplexityLike p f x x' where+  complexity ::+    Optic p f x x' Complexity Complexity++-- | Identity+instance (x' ~ Complexity) => ComplexityLike p f Complexity x' where+  complexity = id++-- | Prism+instance (Choice p, Applicative f, x' ~ Complexity) => AutomatedAndManualLike p f Complexity x' where+  automatedAndManual = prism' (\() -> AutomatedAndManual) (\case AutomatedAndManual -> Just (); AutomatedOnly -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Complexity) => AutomatedOnlyLike p f Complexity x' where+  automatedOnly = prism' (\() -> AutomatedOnly) (\case AutomatedAndManual -> Nothing; AutomatedOnly -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesComplexity == id+-}+lawNamesComplexity :: Complexity -> Complexity+lawNamesComplexity = \case+  AutomatedAndManual -> review automatedAndManual ()+  AutomatedOnly -> review automatedOnly ()++-- | The classes that a data type holding @Complexity@ in one field, or in one or more constructors, inherits.+type InheritComplexity s =+  ( ComplexityLike (->) (Const ()) s s+  , AutomatedAndManualLike (->) (Const ()) s s+  , AutomatedOnlyLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritComplexity@.+inheritComplexity :: (InheritComplexity s) => proxy s -> ()+inheritComplexity _ = ()
+ src/ReOC/Data/Consequence.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritConsequence) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Consequence@: the consequence of a risk (operations manual Appendix E, Table 10).+module ReOC.Data.Consequence (+  Consequence (..),+  ConsequenceLike (..),+  lawNamesConsequence,+  InheritConsequence,+  inheritConsequence,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.Catastrophic (CatastrophicLike (..))+import ReOC.Name.Hazardous (HazardousLike (..))+import ReOC.Name.Minor (MinorLike (..))+import ReOC.Name.Moderate (ModerateLike (..))+import ReOC.Name.Negligible (NegligibleLike (..))++-- | The consequence of a risk (operations manual Appendix E, Table 10).+data Consequence+  = Catastrophic+  | Hazardous+  | Moderate+  | Minor+  | Negligible+  deriving (Eq, Ord, Show)++-- | The name of the data type @Consequence@.+class ConsequenceLike p f x x' where+  consequence ::+    Optic p f x x' Consequence Consequence++-- | Identity+instance (x' ~ Consequence) => ConsequenceLike p f Consequence x' where+  consequence = id++-- | Prism+instance (Choice p, Applicative f, x' ~ Consequence) => CatastrophicLike p f Consequence x' where+  catastrophic = prism' (\() -> Catastrophic) (\case Catastrophic -> Just (); Hazardous -> Nothing; Moderate -> Nothing; Minor -> Nothing; Negligible -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Consequence) => HazardousLike p f Consequence x' where+  hazardous = prism' (\() -> Hazardous) (\case Catastrophic -> Nothing; Hazardous -> Just (); Moderate -> Nothing; Minor -> Nothing; Negligible -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Consequence) => ModerateLike p f Consequence x' where+  moderate = prism' (\() -> Moderate) (\case Catastrophic -> Nothing; Hazardous -> Nothing; Moderate -> Just (); Minor -> Nothing; Negligible -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Consequence) => MinorLike p f Consequence x' where+  minor = prism' (\() -> Minor) (\case Catastrophic -> Nothing; Hazardous -> Nothing; Moderate -> Nothing; Minor -> Just (); Negligible -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Consequence) => NegligibleLike p f Consequence x' where+  negligible = prism' (\() -> Negligible) (\case Catastrophic -> Nothing; Hazardous -> Nothing; Moderate -> Nothing; Minor -> Nothing; Negligible -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesConsequence == id+-}+lawNamesConsequence :: Consequence -> Consequence+lawNamesConsequence = \case+  Catastrophic -> review catastrophic ()+  Hazardous -> review hazardous ()+  Moderate -> review moderate ()+  Minor -> review minor ()+  Negligible -> review negligible ()++-- | The classes that a data type holding @Consequence@ in one field, or in one or more constructors, inherits.+type InheritConsequence s =+  ( ConsequenceLike (->) (Const ()) s s+  , CatastrophicLike (->) (Const ()) s s+  , HazardousLike (->) (Const ()) s s+  , ModerateLike (->) (Const ()) s s+  , MinorLike (->) (Const ()) s s+  , NegligibleLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritConsequence@.+inheritConsequence :: (InheritConsequence s) => proxy s -> ()+inheritConsequence _ = ()
+ src/ReOC/Data/ContactPerson.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritContactPerson') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @ContactPerson'@: the main contact person for an application (CASA Form 101-02, question 3).+module ReOC.Data.ContactPerson (+  ContactPerson' (..),+  ContactPerson'Like (..),+  lawNamesContactPerson',+  ContactPerson,+  UnfilledContactPerson,+  mkUnfilledContactPerson,+  InheritContactPerson',+  inheritContactPerson',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.EmailAddress (EmailAddressLike (..))+import ReOC.Name.FullName (FullNameLike (..))+import ReOC.Name.PhoneNumber (PhoneNumberLike (..))+import ReOC.Name.Position (PositionLike (..))+import ReOC.Primitive.EmailAddress (EmailAddress)+import ReOC.Primitive.FormText (FormLine)+import ReOC.Primitive.PhoneNumber (PhoneNumber)++-- | The main contact person for an application (CASA Form 101-02, question 3). Its valid form is @ContactPerson@, and its unfilled form @UnfilledContactPerson@.+data ContactPerson' a1 a2 a3 a4 = ContactPerson' a1 a2 a3 a4+  deriving (Eq, Ord, Show)++-- | The name of the data type @ContactPerson'@.+class ContactPerson'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' | x -> a1 a2 a3 a4 where+  contactPerson' ::+    Optic p f x x' (ContactPerson' a1 a2 a3 a4) (ContactPerson' a1' a2' a3' a4')++-- | Identity+instance (x' ~ ContactPerson' a1' a2' a3' a4') => ContactPerson'Like p f (ContactPerson' a1 a2 a3 a4) x' a1 a1' a2 a2' a3 a3' a4 a4' where+  contactPerson' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ ContactPerson' a1' a2 a3 a4) => FullNameLike p f (ContactPerson' a1 a2 a3 a4) x' a1 a1' where+  fullName f (ContactPerson' x1 x2 x3 x4) = fmap (\x1' -> ContactPerson' x1' x2 x3 x4) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ContactPerson' a1 a2' a3 a4) => PositionLike p f (ContactPerson' a1 a2 a3 a4) x' a2 a2' where+  position f (ContactPerson' x1 x2 x3 x4) = fmap (\x2' -> ContactPerson' x1 x2' x3 x4) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ContactPerson' a1 a2 a3' a4) => PhoneNumberLike p f (ContactPerson' a1 a2 a3 a4) x' a3 a3' where+  phoneNumber f (ContactPerson' x1 x2 x3 x4) = fmap (\x3' -> ContactPerson' x1 x2 x3' x4) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ContactPerson' a1 a2 a3 a4') => EmailAddressLike p f (ContactPerson' a1 a2 a3 a4) x' a4 a4' where+  emailAddress f (ContactPerson' x1 x2 x3 x4) = fmap (ContactPerson' x1 x2 x3) (f x4)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesContactPerson' == id+-}+lawNamesContactPerson' :: ContactPerson' a1 a2 a3 a4 -> ContactPerson' a1 a2 a3 a4+lawNamesContactPerson' s =+  ContactPerson'+    (view (cloneLens fullName) s)+    (view (cloneLens position) s)+    (view (cloneLens phoneNumber) s)+    (view (cloneLens emailAddress) s)++-- | A valid @ContactPerson'@.+type ContactPerson = ContactPerson' FormLine FormLine PhoneNumber EmailAddress++-- | An unfilled @ContactPerson'@: each field holds what has been entered, if anything, to be checked by @fillContactPerson@.+type UnfilledContactPerson = ContactPerson' (Maybe Text) (Maybe Text) (Maybe Text) (Maybe Text)++-- | An unfilled @ContactPerson'@ with nothing entered.+mkUnfilledContactPerson :: UnfilledContactPerson+mkUnfilledContactPerson =+  ContactPerson'+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @ContactPerson'@ in one field, or in one or more constructors, inherits.+type InheritContactPerson' s a1 a2 a3 a4 =+  ( ContactPerson'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4+  , FullNameLike (->) (Const ()) s s a1 a1+  , PositionLike (->) (Const ()) s s a2 a2+  , PhoneNumberLike (->) (Const ()) s s a3 a3+  , EmailAddressLike (->) (Const ()) s s a4 a4+  )++-- | Checks that a data type inherits every class of @InheritContactPerson'@.+inheritContactPerson' :: (InheritContactPerson' s a1 a2 a3 a4) => proxy s -> ()+inheritContactPerson' _ = ()
+ src/ReOC/Data/CourseType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritCourseType) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @CourseType@: a type of RePL training course (CASA Form 101-02, question 29).+module ReOC.Data.CourseType (+  CourseType (..),+  CourseTypeLike (..),+  lawNamesCourseType,+  InheritCourseType,+  inheritCourseType,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.InitialCourse (InitialCourseLike (..))+import ReOC.Name.UpgradeDifferentCategory (UpgradeDifferentCategoryLike (..))+import ReOC.Name.UpgradeSameCategory (UpgradeSameCategoryLike (..))++-- | A type of RePL training course (CASA Form 101-02, question 29).+data CourseType+  = InitialCourse+  | UpgradeSameCategory+  | UpgradeDifferentCategory+  deriving (Eq, Ord, Show)++-- | The name of the data type @CourseType@.+class CourseTypeLike p f x x' where+  courseType ::+    Optic p f x x' CourseType CourseType++-- | Identity+instance (x' ~ CourseType) => CourseTypeLike p f CourseType x' where+  courseType = id++-- | Prism+instance (Choice p, Applicative f, x' ~ CourseType) => InitialCourseLike p f CourseType x' where+  initialCourse = prism' (\() -> InitialCourse) (\case InitialCourse -> Just (); UpgradeSameCategory -> Nothing; UpgradeDifferentCategory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ CourseType) => UpgradeSameCategoryLike p f CourseType x' where+  upgradeSameCategory = prism' (\() -> UpgradeSameCategory) (\case InitialCourse -> Nothing; UpgradeSameCategory -> Just (); UpgradeDifferentCategory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ CourseType) => UpgradeDifferentCategoryLike p f CourseType x' where+  upgradeDifferentCategory = prism' (\() -> UpgradeDifferentCategory) (\case InitialCourse -> Nothing; UpgradeSameCategory -> Nothing; UpgradeDifferentCategory -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesCourseType == id+-}+lawNamesCourseType :: CourseType -> CourseType+lawNamesCourseType = \case+  InitialCourse -> review initialCourse ()+  UpgradeSameCategory -> review upgradeSameCategory ()+  UpgradeDifferentCategory -> review upgradeDifferentCategory ()++-- | The classes that a data type holding @CourseType@ in one field, or in one or more constructors, inherits.+type InheritCourseType s =+  ( CourseTypeLike (->) (Const ()) s s+  , InitialCourseLike (->) (Const ()) s s+  , UpgradeSameCategoryLike (->) (Const ()) s s+  , UpgradeDifferentCategoryLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritCourseType@.+inheritCourseType :: (InheritCourseType s) => proxy s -> ()+inheritCourseType _ = ()
+ src/ReOC/Data/Crewing.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritCrewing) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Crewing@: whether the operator conducts only solo operations, or multi-crew operations as well.+module ReOC.Data.Crewing (+  Crewing (..),+  CrewingLike (..),+  lawNamesCrewing,+  InheritCrewing,+  inheritCrewing,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.SoloAndMultiCrewOperations (SoloAndMultiCrewOperationsLike (..))+import ReOC.Name.SoloOperationsOnly (SoloOperationsOnlyLike (..))++-- | Whether the operator conducts only solo operations, or multi-crew operations as well.+data Crewing+  = SoloOperationsOnly+  | SoloAndMultiCrewOperations+  deriving (Eq, Ord, Show)++-- | The name of the data type @Crewing@.+class CrewingLike p f x x' where+  crewing ::+    Optic p f x x' Crewing Crewing++-- | Identity+instance (x' ~ Crewing) => CrewingLike p f Crewing x' where+  crewing = id++-- | Prism+instance (Choice p, Applicative f, x' ~ Crewing) => SoloOperationsOnlyLike p f Crewing x' where+  soloOperationsOnly = prism' (\() -> SoloOperationsOnly) (\case SoloOperationsOnly -> Just (); SoloAndMultiCrewOperations -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Crewing) => SoloAndMultiCrewOperationsLike p f Crewing x' where+  soloAndMultiCrewOperations = prism' (\() -> SoloAndMultiCrewOperations) (\case SoloOperationsOnly -> Nothing; SoloAndMultiCrewOperations -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesCrewing == id+-}+lawNamesCrewing :: Crewing -> Crewing+lawNamesCrewing = \case+  SoloOperationsOnly -> review soloOperationsOnly ()+  SoloAndMultiCrewOperations -> review soloAndMultiCrewOperations ()++-- | The classes that a data type holding @Crewing@ in one field, or in one or more constructors, inherits.+type InheritCrewing s =+  ( CrewingLike (->) (Const ()) s s+  , SoloOperationsOnlyLike (->) (Const ()) s s+  , SoloAndMultiCrewOperationsLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritCrewing@.+inheritCrewing :: (InheritCrewing s) => proxy s -> ()+inheritCrewing _ = ()
+ src/ReOC/Data/Declarant.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritDeclarant') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Declarant'@: a person who makes the declaration in another capacity, with that capacity (CASA Form 101-02, question 32).+module ReOC.Data.Declarant (+  Declarant' (..),+  Declarant'Like (..),+  lawNamesDeclarant',+  Declarant,+  UnfilledDeclarant,+  mkUnfilledDeclarant,+  InheritDeclarant',+  inheritDeclarant',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.FullName (FullNameLike (..))+import ReOC.Name.Role (RoleLike (..))+import ReOC.Primitive.FormText (FormLine)++-- | A person who makes the declaration in another capacity, with that capacity (CASA Form 101-02, question 32). Its valid form is @Declarant@, and its unfilled form @UnfilledDeclarant@.+data Declarant' a1 a2 = Declarant' a1 a2+  deriving (Eq, Ord, Show)++-- | The name of the data type @Declarant'@.+class Declarant'Like p f x x' a1 a1' a2 a2' | x -> a1 a2 where+  declarant' ::+    Optic p f x x' (Declarant' a1 a2) (Declarant' a1' a2')++-- | Identity+instance (x' ~ Declarant' a1' a2') => Declarant'Like p f (Declarant' a1 a2) x' a1 a1' a2 a2' where+  declarant' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Declarant' a1' a2) => FullNameLike p f (Declarant' a1 a2) x' a1 a1' where+  fullName f (Declarant' x1 x2) = fmap (\x1' -> Declarant' x1' x2) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Declarant' a1 a2') => RoleLike p f (Declarant' a1 a2) x' a2 a2' where+  role f (Declarant' x1 x2) = fmap (Declarant' x1) (f x2)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesDeclarant' == id+-}+lawNamesDeclarant' :: Declarant' a1 a2 -> Declarant' a1 a2+lawNamesDeclarant' s =+  Declarant'+    (view (cloneLens fullName) s)+    (view (cloneLens role) s)++-- | A valid @Declarant'@.+type Declarant = Declarant' FormLine FormLine++-- | An unfilled @Declarant'@: each field holds what has been entered, if anything, to be checked by @fillDeclarant@.+type UnfilledDeclarant = Declarant' (Maybe Text) (Maybe Text)++-- | An unfilled @Declarant'@ with nothing entered.+mkUnfilledDeclarant :: UnfilledDeclarant+mkUnfilledDeclarant =+  Declarant'+    Nothing+    Nothing++-- | The classes that a data type holding @Declarant'@ in one field, or in one or more constructors, inherits.+type InheritDeclarant' s a1 a2 =+  ( Declarant'Like (->) (Const ()) s s a1 a1 a2 a2+  , FullNameLike (->) (Const ()) s s a1 a1+  , RoleLike (->) (Const ()) s s a2 a2+  )++-- | Checks that a data type inherits every class of @InheritDeclarant'@.+inheritDeclarant' :: (InheritDeclarant' s a1 a2) => proxy s -> ()+inheritDeclarant' _ = ()
+ src/ReOC/Data/Declaration.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritDeclaration') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Declaration'@: who makes the declaration, and in what capacity (CASA Form 101-02, questions 31 and 32).+module ReOC.Data.Declaration (+  Declaration' (..),+  Declaration'Like (..),+  lawNamesDeclaration',+  Declaration,+  UnfilledDeclaration,+  InheritDeclaration',+  inheritDeclaration',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Data.Declarant (Declarant, UnfilledDeclarant)+import ReOC.Name.DeclaredByAgent (DeclaredByAgentLike (..))+import ReOC.Name.DeclaredByCEO (DeclaredByCEOLike (..))+import ReOC.Name.DeclaredByOther (DeclaredByOtherLike (..))+import ReOC.Name.DeclaredByResponsibleManager (DeclaredByResponsibleManagerLike (..))+import ReOC.Primitive.FormText (FormLine)++-- | Who makes the declaration, and in what capacity (CASA Form 101-02, questions 31 and 32). Its valid form is @Declaration@, and its unfilled form @UnfilledDeclaration@.+data Declaration' a1 a2 a3+  = DeclaredByCEO+  | DeclaredByResponsibleManager a1+  | DeclaredByAgent a2+  | DeclaredByOther a3+  deriving (Eq, Ord, Show)++-- | The name of the data type @Declaration'@.+class Declaration'Like p f x x' a1 a1' a2 a2' a3 a3' | x -> a1 a2 a3 where+  declaration' ::+    Optic p f x x' (Declaration' a1 a2 a3) (Declaration' a1' a2' a3')++-- | Identity+instance (x' ~ Declaration' a1' a2' a3') => Declaration'Like p f (Declaration' a1 a2 a3) x' a1 a1' a2 a2' a3 a3' where+  declaration' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ Declaration' a1 a2 a3) => DeclaredByCEOLike p f (Declaration' a1 a2 a3) x' where+  declaredByCEO = prism' (\() -> DeclaredByCEO) (\case DeclaredByCEO -> Just (); DeclaredByResponsibleManager _ -> Nothing; DeclaredByAgent _ -> Nothing; DeclaredByOther _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Declaration' a1' a2 a3) => DeclaredByResponsibleManagerLike p f (Declaration' a1 a2 a3) x' a1 a1' where+  declaredByResponsibleManager = prism DeclaredByResponsibleManager (\case DeclaredByCEO -> Left DeclaredByCEO; DeclaredByResponsibleManager x -> Right x; DeclaredByAgent x -> Left (DeclaredByAgent x); DeclaredByOther x -> Left (DeclaredByOther x))++-- | Prism+instance (Choice p, Applicative f, x' ~ Declaration' a1 a2' a3) => DeclaredByAgentLike p f (Declaration' a1 a2 a3) x' a2 a2' where+  declaredByAgent = prism DeclaredByAgent (\case DeclaredByCEO -> Left DeclaredByCEO; DeclaredByResponsibleManager x -> Left (DeclaredByResponsibleManager x); DeclaredByAgent x -> Right x; DeclaredByOther x -> Left (DeclaredByOther x))++-- | Prism+instance (Choice p, Applicative f, x' ~ Declaration' a1 a2 a3') => DeclaredByOtherLike p f (Declaration' a1 a2 a3) x' a3 a3' where+  declaredByOther = prism DeclaredByOther (\case DeclaredByCEO -> Left DeclaredByCEO; DeclaredByResponsibleManager x -> Left (DeclaredByResponsibleManager x); DeclaredByAgent x -> Left (DeclaredByAgent x); DeclaredByOther x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesDeclaration' == id+-}+lawNamesDeclaration' :: Declaration' a1 a2 a3 -> Declaration' a1 a2 a3+lawNamesDeclaration' = \case+  DeclaredByCEO -> review declaredByCEO ()+  DeclaredByResponsibleManager x -> review declaredByResponsibleManager x+  DeclaredByAgent x -> review declaredByAgent x+  DeclaredByOther x -> review declaredByOther x++-- | A valid @Declaration'@.+type Declaration = Declaration' FormLine FormLine Declarant++-- | An unfilled @Declaration'@: each field holds what has been entered, if anything, to be checked by @fillDeclaration@.+type UnfilledDeclaration = Declaration' (Maybe Text) (Maybe Text) UnfilledDeclarant++-- | The classes that a data type holding @Declaration'@ in one field, or in one or more constructors, inherits.+type InheritDeclaration' s a1 a2 a3 =+  ( Declaration'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3+  , DeclaredByCEOLike (->) (Const ()) s s+  , DeclaredByResponsibleManagerLike (->) (Const ()) s s a1 a1+  , DeclaredByAgentLike (->) (Const ()) s s a2 a2+  , DeclaredByOtherLike (->) (Const ()) s s a3 a3+  )++-- | Checks that a data type inherits every class of @InheritDeclaration'@.+inheritDeclaration' :: (InheritDeclaration' s a1 a2 a3) => proxy s -> ()+inheritDeclaration' _ = ()
+ src/ReOC/Data/Directorship.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritDirectorship) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Directorship@: whether the CEO is a director of the company.+module ReOC.Data.Directorship (+  Directorship (..),+  DirectorshipLike (..),+  lawNamesDirectorship,+  InheritDirectorship,+  inheritDirectorship,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.Director (DirectorLike (..))+import ReOC.Name.NotADirector (NotADirectorLike (..))+import ReOC.Name.SoleDirector (SoleDirectorLike (..))++-- | Whether the CEO is a director of the company.+data Directorship+  = SoleDirector+  | Director+  | NotADirector+  deriving (Eq, Ord, Show)++-- | The name of the data type @Directorship@.+class DirectorshipLike p f x x' where+  directorship ::+    Optic p f x x' Directorship Directorship++-- | Identity+instance (x' ~ Directorship) => DirectorshipLike p f Directorship x' where+  directorship = id++-- | Prism+instance (Choice p, Applicative f, x' ~ Directorship) => SoleDirectorLike p f Directorship x' where+  soleDirector = prism' (\() -> SoleDirector) (\case SoleDirector -> Just (); Director -> Nothing; NotADirector -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Directorship) => DirectorLike p f Directorship x' where+  director = prism' (\() -> Director) (\case SoleDirector -> Nothing; Director -> Just (); NotADirector -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Directorship) => NotADirectorLike p f Directorship x' where+  notADirector = prism' (\() -> NotADirector) (\case SoleDirector -> Nothing; Director -> Nothing; NotADirector -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesDirectorship == id+-}+lawNamesDirectorship :: Directorship -> Directorship+lawNamesDirectorship = \case+  SoleDirector -> review soleDirector ()+  Director -> review director ()+  NotADirector -> review notADirector ()++-- | The classes that a data type holding @Directorship@ in one field, or in one or more constructors, inherits.+type InheritDirectorship s =+  ( DirectorshipLike (->) (Const ()) s s+  , SoleDirectorLike (->) (Const ()) s s+  , DirectorLike (->) (Const ()) s s+  , NotADirectorLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritDirectorship@.+inheritDirectorship :: (InheritDirectorship s) => proxy s -> ()+inheritDirectorship _ = ()
+ src/ReOC/Data/EmergencyAction.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritEmergencyAction') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @EmergencyAction'@: an emergency action of the type-specific procedures (operations manual Appendix C): the situation, what the RPA does, and the steps the remote pilot takes.+module ReOC.Data.EmergencyAction (+  EmergencyAction' (..),+  EmergencyAction'Like (..),+  lawNamesEmergencyAction',+  EmergencyAction,+  UnfilledEmergencyAction,+  mkEmergencyAction,+  mkUnfilledEmergencyAction,+  InheritEmergencyAction',+  inheritEmergencyAction',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.ActionSteps (ActionStepsLike (..))+import ReOC.Name.Response (ResponseLike (..))+import ReOC.Name.Situation (SituationLike (..))+import ReOC.Primitive.Text1 (Text1)++-- | An emergency action of the type-specific procedures (operations manual Appendix C): the situation, what the RPA does, and the steps the remote pilot takes. Its valid form is @EmergencyAction@, and its unfilled form @UnfilledEmergencyAction@.+data EmergencyAction' a1 a2 a3 = EmergencyAction' a1 a2 a3+  deriving (Eq, Ord, Show)++-- | The name of the data type @EmergencyAction'@.+class EmergencyAction'Like p f x x' a1 a1' a2 a2' a3 a3' | x -> a1 a2 a3 where+  emergencyAction' ::+    Optic p f x x' (EmergencyAction' a1 a2 a3) (EmergencyAction' a1' a2' a3')++-- | Identity+instance (x' ~ EmergencyAction' a1' a2' a3') => EmergencyAction'Like p f (EmergencyAction' a1 a2 a3) x' a1 a1' a2 a2' a3 a3' where+  emergencyAction' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ EmergencyAction' a1' a2 a3) => SituationLike p f (EmergencyAction' a1 a2 a3) x' a1 a1' where+  situation f (EmergencyAction' x1 x2 x3) = fmap (\x1' -> EmergencyAction' x1' x2 x3) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ EmergencyAction' a1 a2' a3) => ResponseLike p f (EmergencyAction' a1 a2 a3) x' a2 a2' where+  response f (EmergencyAction' x1 x2 x3) = fmap (\x2' -> EmergencyAction' x1 x2' x3) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ EmergencyAction' a1 a2 a3') => ActionStepsLike p f (EmergencyAction' a1 a2 a3) x' a3 a3' where+  actionSteps f (EmergencyAction' x1 x2 x3) = fmap (EmergencyAction' x1 x2) (f x3)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesEmergencyAction' == id+-}+lawNamesEmergencyAction' :: EmergencyAction' a1 a2 a3 -> EmergencyAction' a1 a2 a3+lawNamesEmergencyAction' s =+  EmergencyAction'+    (view (cloneLens situation) s)+    (view (cloneLens response) s)+    (view (cloneLens actionSteps) s)++-- | A valid @EmergencyAction'@.+type EmergencyAction = EmergencyAction' Text1 Text1 [Text1]++-- | An unfilled @EmergencyAction'@: each field holds what has been entered, if anything, to be checked by @fillEmergencyAction@.+type UnfilledEmergencyAction = EmergencyAction' (Maybe Text) (Maybe Text) [Text]++-- | Builds a valid @EmergencyAction'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkEmergencyAction :: Text1 -> Text1 -> EmergencyAction+mkEmergencyAction x1 x2 = EmergencyAction' x1 x2 []++-- | An unfilled @EmergencyAction'@ with nothing entered.+mkUnfilledEmergencyAction :: UnfilledEmergencyAction+mkUnfilledEmergencyAction =+  EmergencyAction'+    Nothing+    Nothing+    []++-- | The classes that a data type holding @EmergencyAction'@ in one field, or in one or more constructors, inherits.+type InheritEmergencyAction' s a1 a2 a3 =+  ( EmergencyAction'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3+  , SituationLike (->) (Const ()) s s a1 a1+  , ResponseLike (->) (Const ()) s s a2 a2+  , ActionStepsLike (->) (Const ()) s s a3 a3+  )++-- | Checks that a data type inherits every class of @InheritEmergencyAction'@.+inheritEmergencyAction' :: (InheritEmergencyAction' s a1 a2 a3) => proxy s -> ()+inheritEmergencyAction' _ = ()
+ src/ReOC/Data/Equipment.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritEquipment') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Equipment'@: an item of equipment associated with an RPA, such as a gimbal camera or remote controller.+module ReOC.Data.Equipment (+  Equipment' (..),+  Equipment'Like (..),+  lawNamesEquipment',+  Equipment,+  UnfilledEquipment,+  mkUnfilledEquipment,+  InheritEquipment',+  inheritEquipment',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.EquipmentDescription (EquipmentDescriptionLike (..))+import ReOC.Name.SerialNumber (SerialNumberLike (..))+import ReOC.Primitive.Text1 (Text1)++-- | An item of equipment associated with an RPA, such as a gimbal camera or remote controller. Its valid form is @Equipment@, and its unfilled form @UnfilledEquipment@.+data Equipment' a1 a2 = Equipment' a1 a2+  deriving (Eq, Ord, Show)++-- | The name of the data type @Equipment'@.+class Equipment'Like p f x x' a1 a1' a2 a2' | x -> a1 a2 where+  equipment' ::+    Optic p f x x' (Equipment' a1 a2) (Equipment' a1' a2')++-- | Identity+instance (x' ~ Equipment' a1' a2') => Equipment'Like p f (Equipment' a1 a2) x' a1 a1' a2 a2' where+  equipment' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Equipment' a1' a2) => EquipmentDescriptionLike p f (Equipment' a1 a2) x' a1 a1' where+  equipmentDescription f (Equipment' x1 x2) = fmap (\x1' -> Equipment' x1' x2) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Equipment' a1 a2') => SerialNumberLike p f (Equipment' a1 a2) x' a2 a2' where+  serialNumber f (Equipment' x1 x2) = fmap (Equipment' x1) (f x2)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesEquipment' == id+-}+lawNamesEquipment' :: Equipment' a1 a2 -> Equipment' a1 a2+lawNamesEquipment' s =+  Equipment'+    (view (cloneLens equipmentDescription) s)+    (view (cloneLens serialNumber) s)++-- | A valid @Equipment'@.+type Equipment = Equipment' Text1 Text1++-- | An unfilled @Equipment'@: each field holds what has been entered, if anything, to be checked by @fillEquipment@.+type UnfilledEquipment = Equipment' (Maybe Text) (Maybe Text)++-- | An unfilled @Equipment'@ with nothing entered.+mkUnfilledEquipment :: UnfilledEquipment+mkUnfilledEquipment =+  Equipment'+    Nothing+    Nothing++-- | The classes that a data type holding @Equipment'@ in one field, or in one or more constructors, inherits.+type InheritEquipment' s a1 a2 =+  ( Equipment'Like (->) (Const ()) s s a1 a1 a2 a2+  , EquipmentDescriptionLike (->) (Const ()) s s a1 a1+  , SerialNumberLike (->) (Const ()) s s a2 a2+  )++-- | Checks that a data type inherits every class of @InheritEquipment'@.+inheritEquipment' :: (InheritEquipment' s a1 a2) => proxy s -> ()+inheritEquipment' _ = ()
+ src/ReOC/Data/ExamDelivery.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritExamDelivery) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @ExamDelivery@: how a supervised theory examination is sat.+module ReOC.Data.ExamDelivery (+  ExamDelivery (..),+  ExamDeliveryLike (..),+  lawNamesExamDelivery,+  InheritExamDelivery,+  inheritExamDelivery,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.ComputerExamination (ComputerExaminationLike (..))+import ReOC.Name.PaperExamination (PaperExaminationLike (..))++-- | How a supervised theory examination is sat.+data ExamDelivery+  = PaperExamination+  | ComputerExamination+  deriving (Eq, Ord, Show)++-- | The name of the data type @ExamDelivery@.+class ExamDeliveryLike p f x x' where+  examDelivery ::+    Optic p f x x' ExamDelivery ExamDelivery++-- | Identity+instance (x' ~ ExamDelivery) => ExamDeliveryLike p f ExamDelivery x' where+  examDelivery = id++-- | Prism+instance (Choice p, Applicative f, x' ~ ExamDelivery) => PaperExaminationLike p f ExamDelivery x' where+  paperExamination = prism' (\() -> PaperExamination) (\case PaperExamination -> Just (); ComputerExamination -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ ExamDelivery) => ComputerExaminationLike p f ExamDelivery x' where+  computerExamination = prism' (\() -> ComputerExamination) (\case PaperExamination -> Nothing; ComputerExamination -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesExamDelivery == id+-}+lawNamesExamDelivery :: ExamDelivery -> ExamDelivery+lawNamesExamDelivery = \case+  PaperExamination -> review paperExamination ()+  ComputerExamination -> review computerExamination ()++-- | The classes that a data type holding @ExamDelivery@ in one field, or in one or more constructors, inherits.+type InheritExamDelivery s =+  ( ExamDeliveryLike (->) (Const ()) s s+  , PaperExaminationLike (->) (Const ()) s s+  , ComputerExaminationLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritExamDelivery@.+inheritExamDelivery :: (InheritExamDelivery s) => proxy s -> ()+inheritExamDelivery _ = ()
+ src/ReOC/Data/Field.hs view
@@ -0,0 +1,1480 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritField) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Field@: a field of a form type, or a constructor of a form sum: a step of the path to a field, with its help text.+module ReOC.Data.Field (+  Field (..),+  FieldLike (..),+  lawNamesField,+  InheritField,+  inheritField,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.AddressPostcode (AddressPostcodeLike (..))+import ReOC.Name.AddressStateOrTerritory (AddressStateOrTerritoryLike (..))+import ReOC.Name.AddressStreetAddress (AddressStreetAddressLike (..))+import ReOC.Name.AddressSuburb (AddressSuburbLike (..))+import ReOC.Name.AircraftAssociatedEquipment (AircraftAssociatedEquipmentLike (..))+import ReOC.Name.AircraftSerialNumber (AircraftSerialNumberLike (..))+import ReOC.Name.ApplicationFormDeclaration (ApplicationFormDeclarationLike (..))+import ReOC.Name.ApplicationFormOtherDocuments (ApplicationFormOtherDocumentsLike (..))+import ReOC.Name.ApplicationFormPersonnelHistory (ApplicationFormPersonnelHistoryLike (..))+import ReOC.Name.ApplicationFormPrimaryContact (ApplicationFormPrimaryContactLike (..))+import ReOC.Name.ApplicationFormProceduresLibrary (ApplicationFormProceduresLibraryLike (..))+import ReOC.Name.ApplicationFormRegulatoryHistory (ApplicationFormRegulatoryHistoryLike (..))+import ReOC.Name.ApplicationFormSignature (ApplicationFormSignatureLike (..))+import ReOC.Name.ChiefExecutiveDirectorStatus (ChiefExecutiveDirectorStatusLike (..))+import ReOC.Name.ChiefExecutiveManagementExperience (ChiefExecutiveManagementExperienceLike (..))+import ReOC.Name.ChiefExecutiveNominee (ChiefExecutiveNomineeLike (..))+import ReOC.Name.ChiefPilotCrpNominee (ChiefPilotCrpNomineeLike (..))+import ReOC.Name.ChiefPilotOtherReOCRoles (ChiefPilotOtherReOCRolesLike (..))+import ReOC.Name.ChiefPilotRadio (ChiefPilotRadioLike (..))+import ReOC.Name.ChiefPilotRePLOrigin (ChiefPilotRePLOriginLike (..))+import ReOC.Name.ChiefPilotRpaHistory (ChiefPilotRpaHistoryLike (..))+import ReOC.Name.CompanyAbn (CompanyAbnLike (..))+import ReOC.Name.CompanyArn (CompanyArnLike (..))+import ReOC.Name.CompanyBusinessName (CompanyBusinessNameLike (..))+import ReOC.Name.CompanyCompanyName (CompanyCompanyNameLike (..))+import ReOC.Name.CompanyEmailAddress (CompanyEmailAddressLike (..))+import ReOC.Name.CompanyOperationalHeadquarters (CompanyOperationalHeadquartersLike (..))+import ReOC.Name.CompanyPhoneNumber (CompanyPhoneNumberLike (..))+import ReOC.Name.CompanyRegisteredOffice (CompanyRegisteredOfficeLike (..))+import ReOC.Name.ContactPersonEmailAddress (ContactPersonEmailAddressLike (..))+import ReOC.Name.ContactPersonFullName (ContactPersonFullNameLike (..))+import ReOC.Name.ContactPersonPhoneNumber (ContactPersonPhoneNumberLike (..))+import ReOC.Name.ContactPersonPosition (ContactPersonPositionLike (..))+import ReOC.Name.CriNomineeCriIsCEO (CriNomineeCriIsCEOLike (..))+import ReOC.Name.CriNomineeCriIsCRP (CriNomineeCriIsCRPLike (..))+import ReOC.Name.CriNomineeCriIsMC (CriNomineeCriIsMCLike (..))+import ReOC.Name.CriNomineeCriNominated (CriNomineeCriNominatedLike (..))+import ReOC.Name.CrpNomineeCrpIsCEO (CrpNomineeCrpIsCEOLike (..))+import ReOC.Name.CrpNomineeCrpNominated (CrpNomineeCrpNominatedLike (..))+import ReOC.Name.DeclarantFullName (DeclarantFullNameLike (..))+import ReOC.Name.DeclarantRole (DeclarantRoleLike (..))+import ReOC.Name.DeclarationDeclaredByAgent (DeclarationDeclaredByAgentLike (..))+import ReOC.Name.DeclarationDeclaredByCEO (DeclarationDeclaredByCEOLike (..))+import ReOC.Name.DeclarationDeclaredByOther (DeclarationDeclaredByOtherLike (..))+import ReOC.Name.DeclarationDeclaredByResponsibleManager (DeclarationDeclaredByResponsibleManagerLike (..))+import ReOC.Name.EmergencyActionActionSteps (EmergencyActionActionStepsLike (..))+import ReOC.Name.EmergencyActionResponse (EmergencyActionResponseLike (..))+import ReOC.Name.EmergencyActionSituation (EmergencyActionSituationLike (..))+import ReOC.Name.EquipmentEquipmentDescription (EquipmentEquipmentDescriptionLike (..))+import ReOC.Name.EquipmentSerialNumber (EquipmentSerialNumberLike (..))+import ReOC.Name.FirstIssueDetails (FirstIssueDetailsLike (..))+import ReOC.Name.FirstIssueEffective (FirstIssueEffectiveLike (..))+import ReOC.Name.FirstIssueIssueDate (FirstIssueIssueDateLike (..))+import ReOC.Name.FirstIssueParts (FirstIssuePartsLike (..))+import ReOC.Name.FirstIssueVersion (FirstIssueVersionLike (..))+import ReOC.Name.FlightTerminationFlightTerminationSystem (FlightTerminationFlightTerminationSystemLike (..))+import ReOC.Name.FlightTerminationNoFlightTerminationSystem (FlightTerminationNoFlightTerminationSystemLike (..))+import ReOC.Name.HistoryAnswerHistoryDisclosed (HistoryAnswerHistoryDisclosedLike (..))+import ReOC.Name.HistoryAnswerNoHistory (HistoryAnswerNoHistoryLike (..))+import ReOC.Name.KeyPersonnelChiefExecutive (KeyPersonnelChiefExecutiveLike (..))+import ReOC.Name.KeyPersonnelChiefPilot (KeyPersonnelChiefPilotLike (..))+import ReOC.Name.KeyPersonnelMcNominee (KeyPersonnelMcNomineeLike (..))+import ReOC.Name.McNomineeMcIsCEO (McNomineeMcIsCEOLike (..))+import ReOC.Name.McNomineeMcIsCRP (McNomineeMcIsCRPLike (..))+import ReOC.Name.McNomineeMcNominated (McNomineeMcNominatedLike (..))+import ReOC.Name.NomineeAviationExperience (NomineeAviationExperienceLike (..))+import ReOC.Name.NomineeOtherQualifications (NomineeOtherQualificationsLike (..))+import ReOC.Name.NomineePerson (NomineePersonLike (..))+import ReOC.Name.OperatedTypeAirframes (OperatedTypeAirframesLike (..))+import ReOC.Name.OperatedTypeRpaType (OperatedTypeRpaTypeLike (..))+import ReOC.Name.OperationalExperienceHasOperationalExperience (OperationalExperienceHasOperationalExperienceLike (..))+import ReOC.Name.OperationalExperienceOperationalExperienceIntent (OperationalExperienceOperationalExperienceIntentLike (..))+import ReOC.Name.OperationalExperienceOperationalExperienceNotApplicable (OperationalExperienceOperationalExperienceNotApplicableLike (..))+import ReOC.Name.OperationalHeadquartersAtRegisteredOffice (OperationalHeadquartersAtRegisteredOfficeLike (..))+import ReOC.Name.OperationalHeadquartersOperationalHeadquartersAddress (OperationalHeadquartersOperationalHeadquartersAddressLike (..))+import ReOC.Name.OperationsManualCrew (OperationsManualCrewLike (..))+import ReOC.Name.OperationsManualFirstIssue (OperationsManualFirstIssueLike (..))+import ReOC.Name.OperationsManualPilots (OperationsManualPilotsLike (..))+import ReOC.Name.OperationsManualPolicies (OperationsManualPoliciesLike (..))+import ReOC.Name.OperationsManualRevisions (OperationsManualRevisionsLike (..))+import ReOC.Name.OperationsManualRiskRegister (OperationsManualRiskRegisterLike (..))+import ReOC.Name.OperationsManualServices (OperationsManualServicesLike (..))+import ReOC.Name.OperatorCompany (OperatorCompanyLike (..))+import ReOC.Name.OperatorFleet (OperatorFleetLike (..))+import ReOC.Name.OperatorKeyPersonnel (OperatorKeyPersonnelLike (..))+import ReOC.Name.OtherReOCRolesNoOtherReOCRoles (OtherReOCRolesNoOtherReOCRolesLike (..))+import ReOC.Name.OtherReOCRolesOtherReOCRolesHeld (OtherReOCRolesOtherReOCRolesHeldLike (..))+import ReOC.Name.PersonArn (PersonArnLike (..))+import ReOC.Name.PersonEmailAddress (PersonEmailAddressLike (..))+import ReOC.Name.PersonFullName (PersonFullNameLike (..))+import ReOC.Name.PersonPhoneNumber (PersonPhoneNumberLike (..))+import ReOC.Name.PersonnelHistoryActionTaken (PersonnelHistoryActionTakenLike (..))+import ReOC.Name.PersonnelHistoryCriminalConviction (PersonnelHistoryCriminalConvictionLike (..))+import ReOC.Name.PersonnelHistorySuspensionPending (PersonnelHistorySuspensionPendingLike (..))+import ReOC.Name.PersonnelHistoryTransportLicenceRefused (PersonnelHistoryTransportLicenceRefusedLike (..))+import ReOC.Name.PoliciesAlcoholHours (PoliciesAlcoholHoursLike (..))+import ReOC.Name.PoliciesBackupFrequency (PoliciesBackupFrequencyLike (..))+import ReOC.Name.PoliciesBatteryReserve (PoliciesBatteryReserveLike (..))+import ReOC.Name.PoliciesCheckingMonths (PoliciesCheckingMonthsLike (..))+import ReOC.Name.PoliciesDutyHours (PoliciesDutyHoursLike (..))+import ReOC.Name.PoliciesIndependentReviewYears (PoliciesIndependentReviewYearsLike (..))+import ReOC.Name.PoliciesInspectionHours (PoliciesInspectionHoursLike (..))+import ReOC.Name.PoliciesInspectionMonths (PoliciesInspectionMonthsLike (..))+import ReOC.Name.PoliciesRecencyDays (PoliciesRecencyDaysLike (..))+import ReOC.Name.PoliciesRecencyFlights (PoliciesRecencyFlightsLike (..))+import ReOC.Name.PoliciesRefresherMonths (PoliciesRefresherMonthsLike (..))+import ReOC.Name.PoliciesRestHours (PoliciesRestHoursLike (..))+import ReOC.Name.PrimaryContactApplicantIsPrimaryContact (PrimaryContactApplicantIsPrimaryContactLike (..))+import ReOC.Name.PrimaryContactPrimaryContactPerson (PrimaryContactPrimaryContactPersonLike (..))+import ReOC.Name.ReOCApplicationForm (ReOCApplicationFormLike (..))+import ReOC.Name.ReOCMaybeTrainingMaterial (ReOCMaybeTrainingMaterialLike (..))+import ReOC.Name.ReOCOperationsManual (ReOCOperationsManualLike (..))+import ReOC.Name.ReOCOperator (ReOCOperatorLike (..))+import ReOC.Name.RePLHoldingHoldsRePLForEachType (RePLHoldingHoldsRePLForEachTypeLike (..))+import ReOC.Name.RePLHoldingRePLHoldingIntent (RePLHoldingRePLHoldingIntentLike (..))+import ReOC.Name.RePLOriginPplTheory (RePLOriginPplTheoryLike (..))+import ReOC.Name.RePLOriginRePLTrainingOrganisation (RePLOriginRePLTrainingOrganisationLike (..))+import ReOC.Name.RegulatoryActionActionDate (RegulatoryActionActionDateLike (..))+import ReOC.Name.RegulatoryActionActionDetails (RegulatoryActionActionDetailsLike (..))+import ReOC.Name.RegulatoryActionAuthorisationAction (RegulatoryActionAuthorisationActionLike (..))+import ReOC.Name.RegulatoryActionReocSuspendedOrCancelled (RegulatoryActionReocSuspendedOrCancelledLike (..))+import ReOC.Name.RegulatoryActionTypeOfAction (RegulatoryActionTypeOfActionLike (..))+import ReOC.Name.RegulatoryHistoryNoRegulatoryAction (RegulatoryHistoryNoRegulatoryActionLike (..))+import ReOC.Name.RegulatoryHistoryRegulatoryActionTaken (RegulatoryHistoryRegulatoryActionTakenLike (..))+import ReOC.Name.RevisionDetails (RevisionDetailsLike (..))+import ReOC.Name.RevisionEffective (RevisionEffectiveLike (..))+import ReOC.Name.RevisionMonthsAfter (RevisionMonthsAfterLike (..))+import ReOC.Name.RevisionParts (RevisionPartsLike (..))+import ReOC.Name.RevisionVersionIncrement (RevisionVersionIncrementLike (..))+import ReOC.Name.RiskAdditionalControls (RiskAdditionalControlsLike (..))+import ReOC.Name.RiskAssessmentRiskConsequence (RiskAssessmentRiskConsequenceLike (..))+import ReOC.Name.RiskAssessmentRiskLikelihood (RiskAssessmentRiskLikelihoodLike (..))+import ReOC.Name.RiskDateEntered (RiskDateEnteredLike (..))+import ReOC.Name.RiskExistingControls (RiskExistingControlsLike (..))+import ReOC.Name.RiskHazard (RiskHazardLike (..))+import ReOC.Name.RiskInitialRisk (RiskInitialRiskLike (..))+import ReOC.Name.RiskResidualRisk (RiskResidualRiskLike (..))+import ReOC.Name.RiskReviewMonths (RiskReviewMonthsLike (..))+import ReOC.Name.RiskRiskDescription (RiskRiskDescriptionLike (..))+import ReOC.Name.RiskRiskOwner (RiskRiskOwnerLike (..))+import ReOC.Name.RpaTypeBatteryWarnings (RpaTypeBatteryWarningsLike (..))+import ReOC.Name.RpaTypeBeforeFlight (RpaTypeBeforeFlightLike (..))+import ReOC.Name.RpaTypeCategory (RpaTypeCategoryLike (..))+import ReOC.Name.RpaTypeEmergencyActions (RpaTypeEmergencyActionsLike (..))+import ReOC.Name.RpaTypeFlightTermination (RpaTypeFlightTerminationLike (..))+import ReOC.Name.RpaTypeInspectionItems (RpaTypeInspectionItemsLike (..))+import ReOC.Name.RpaTypeMaximumGrossWeight (RpaTypeMaximumGrossWeightLike (..))+import ReOC.Name.RpaTypeRpaMake (RpaTypeRpaMakeLike (..))+import ReOC.Name.RpaTypeRpaModel (RpaTypeRpaModelLike (..))+import ReOC.Name.RpaTypeShortName (RpaTypeShortNameLike (..))+import ReOC.Name.RpaTypeTransponderCarriage (RpaTypeTransponderCarriageLike (..))+import ReOC.Name.RpaTypeUserManual (RpaTypeUserManualLike (..))+import ReOC.Name.TeachingQualificationTeachingQualificationHeld (TeachingQualificationTeachingQualificationHeldLike (..))+import ReOC.Name.TeachingQualificationTeachingQualificationIntent (TeachingQualificationTeachingQualificationIntentLike (..))+import ReOC.Name.TrainingArrangementsExam (TrainingArrangementsExamLike (..))+import ReOC.Name.TrainingArrangementsExamPassMark (TrainingArrangementsExamPassMarkLike (..))+import ReOC.Name.TrainingArrangementsExaminer (TrainingArrangementsExaminerLike (..))+import ReOC.Name.TrainingArrangementsMaxStudentsPerCourse (TrainingArrangementsMaxStudentsPerCourseLike (..))+import ReOC.Name.TrainingArrangementsMaxStudentsPerInstructor (TrainingArrangementsMaxStudentsPerInstructorLike (..))+import ReOC.Name.TrainingArrangementsPracticalAreas (TrainingArrangementsPracticalAreasLike (..))+import ReOC.Name.TrainingArrangementsSimulator (TrainingArrangementsSimulatorLike (..))+import ReOC.Name.TrainingArrangementsTakeover (TrainingArrangementsTakeoverLike (..))+import ReOC.Name.TrainingArrangementsTheory (TrainingArrangementsTheoryLike (..))+import ReOC.Name.TrainingArrangementsTheoryVenues (TrainingArrangementsTheoryVenuesLike (..))+import ReOC.Name.TrainingCourseComplexities (TrainingCourseComplexitiesLike (..))+import ReOC.Name.TrainingCourseCourseKind (TrainingCourseCourseKindLike (..))+import ReOC.Name.TrainingCourseTrainingRPA (TrainingCourseTrainingRPALike (..))+import ReOC.Name.TrainingMaterialCriNominee (TrainingMaterialCriNomineeLike (..))+import ReOC.Name.TrainingMaterialCriOtherReOCRoles (TrainingMaterialCriOtherReOCRolesLike (..))+import ReOC.Name.TrainingMaterialOperationalExperience (TrainingMaterialOperationalExperienceLike (..))+import ReOC.Name.TrainingMaterialRePLHolding (TrainingMaterialRePLHoldingLike (..))+import ReOC.Name.TrainingMaterialTeachingQualification (TrainingMaterialTeachingQualificationLike (..))+import ReOC.Name.TrainingMaterialTrainingArrangements (TrainingMaterialTrainingArrangementsLike (..))+import ReOC.Name.TrainingMaterialTrainingCourses (TrainingMaterialTrainingCoursesLike (..))+import ReOC.Name.VersionMajorVersion (VersionMajorVersionLike (..))+import ReOC.Name.VersionMinorVersion (VersionMinorVersionLike (..))+import ReOC.Name.WrittenSignatureWrittenSignatureFile (WrittenSignatureWrittenSignatureFileLike (..))+import ReOC.Name.WrittenSignatureWrittenSignatureImage (WrittenSignatureWrittenSignatureImageLike (..))++-- | A field of a form type, or a constructor of a form sum: a step of the path to a field, with its help text.+data Field+  = PersonFullName+  | PersonArn+  | PersonPhoneNumber+  | PersonEmailAddress+  | AddressStreetAddress+  | AddressSuburb+  | AddressStateOrTerritory+  | AddressPostcode+  | OperationalHeadquartersAtRegisteredOffice+  | OperationalHeadquartersOperationalHeadquartersAddress+  | CompanyCompanyName+  | CompanyAbn+  | CompanyArn+  | CompanyRegisteredOffice+  | CompanyOperationalHeadquarters+  | CompanyPhoneNumber+  | CompanyEmailAddress+  | CompanyBusinessName+  | FlightTerminationNoFlightTerminationSystem+  | FlightTerminationFlightTerminationSystem+  | EmergencyActionSituation+  | EmergencyActionResponse+  | EmergencyActionActionSteps+  | RPATypeRpaMake+  | RPATypeRpaModel+  | RPATypeShortName+  | RPATypeCategory+  | RPATypeMaximumGrossWeight+  | RPATypeUserManual+  | RPATypeTransponderCarriage+  | RPATypeFlightTermination+  | RPATypeInspectionItems+  | RPATypeBeforeFlight+  | RPATypeBatteryWarnings+  | RPATypeEmergencyActions+  | EquipmentEquipmentDescription+  | EquipmentSerialNumber+  | AircraftSerialNumber+  | AircraftAssociatedEquipment+  | OperatedTypeRpaType+  | OperatedTypeAirframes+  | RePLOriginPplTheory+  | RePLOriginRePLTrainingOrganisation+  | OtherReOCRolesNoOtherReOCRoles+  | OtherReOCRolesOtherReOCRolesHeld+  | NomineePerson+  | NomineeOtherQualifications+  | NomineeAviationExperience+  | ChiefExecutiveNominee+  | ChiefExecutiveDirectorStatus+  | ChiefExecutiveManagementExperience+  | CRPNomineeCrpIsCEO+  | CRPNomineeCrpNominated+  | ChiefPilotCrpNominee+  | ChiefPilotRePLOrigin+  | ChiefPilotRpaHistory+  | ChiefPilotOtherReOCRoles+  | ChiefPilotRadio+  | MCNomineeMcIsCEO+  | MCNomineeMcIsCRP+  | MCNomineeMcNominated+  | KeyPersonnelChiefExecutive+  | KeyPersonnelChiefPilot+  | KeyPersonnelMcNominee+  | OperatorCompany+  | OperatorKeyPersonnel+  | OperatorFleet+  | ContactPersonFullName+  | ContactPersonPosition+  | ContactPersonPhoneNumber+  | ContactPersonEmailAddress+  | PrimaryContactApplicantIsPrimaryContact+  | PrimaryContactPrimaryContactPerson+  | HistoryAnswerNoHistory+  | HistoryAnswerHistoryDisclosed+  | PersonnelHistoryActionTaken+  | PersonnelHistoryTransportLicenceRefused+  | PersonnelHistoryCriminalConviction+  | PersonnelHistorySuspensionPending+  | RegulatoryActionReocSuspendedOrCancelled+  | RegulatoryActionTypeOfAction+  | RegulatoryActionAuthorisationAction+  | RegulatoryActionActionDate+  | RegulatoryActionActionDetails+  | RegulatoryHistoryNoRegulatoryAction+  | RegulatoryHistoryRegulatoryActionTaken+  | DeclarantFullName+  | DeclarantRole+  | DeclarationDeclaredByCEO+  | DeclarationDeclaredByResponsibleManager+  | DeclarationDeclaredByAgent+  | DeclarationDeclaredByOther+  | WrittenSignatureWrittenSignatureImage+  | WrittenSignatureWrittenSignatureFile+  | ApplicationFormPrimaryContact+  | ApplicationFormPersonnelHistory+  | ApplicationFormRegulatoryHistory+  | ApplicationFormProceduresLibrary+  | ApplicationFormOtherDocuments+  | ApplicationFormDeclaration+  | ApplicationFormSignature+  | VersionMajorVersion+  | VersionMinorVersion+  | FirstIssueVersion+  | FirstIssueIssueDate+  | FirstIssueEffective+  | FirstIssueParts+  | FirstIssueDetails+  | RevisionVersionIncrement+  | RevisionMonthsAfter+  | RevisionEffective+  | RevisionParts+  | RevisionDetails+  | PoliciesRecencyFlights+  | PoliciesRecencyDays+  | PoliciesRefresherMonths+  | PoliciesAlcoholHours+  | PoliciesRestHours+  | PoliciesDutyHours+  | PoliciesInspectionMonths+  | PoliciesInspectionHours+  | PoliciesBatteryReserve+  | PoliciesBackupFrequency+  | PoliciesIndependentReviewYears+  | PoliciesCheckingMonths+  | RiskAssessmentRiskLikelihood+  | RiskAssessmentRiskConsequence+  | RiskHazard+  | RiskRiskDescription+  | RiskExistingControls+  | RiskInitialRisk+  | RiskAdditionalControls+  | RiskResidualRisk+  | RiskRiskOwner+  | RiskDateEntered+  | RiskReviewMonths+  | OperationsManualFirstIssue+  | OperationsManualRevisions+  | OperationsManualServices+  | OperationsManualPolicies+  | OperationsManualRiskRegister+  | OperationsManualCrew+  | OperationsManualPilots+  | CRINomineeCriIsCEO+  | CRINomineeCriIsCRP+  | CRINomineeCriIsMC+  | CRINomineeCriNominated+  | RePLHoldingHoldsRePLForEachType+  | RePLHoldingRePLHoldingIntent+  | TeachingQualificationTeachingQualificationHeld+  | TeachingQualificationTeachingQualificationIntent+  | OperationalExperienceHasOperationalExperience+  | OperationalExperienceOperationalExperienceIntent+  | OperationalExperienceOperationalExperienceNotApplicable+  | TrainingCourseCourseKind+  | TrainingCourseTrainingRPA+  | TrainingCourseComplexities+  | TrainingArrangementsTheoryVenues+  | TrainingArrangementsPracticalAreas+  | TrainingArrangementsMaxStudentsPerCourse+  | TrainingArrangementsMaxStudentsPerInstructor+  | TrainingArrangementsTakeover+  | TrainingArrangementsTheory+  | TrainingArrangementsExam+  | TrainingArrangementsExamPassMark+  | TrainingArrangementsExaminer+  | TrainingArrangementsSimulator+  | TrainingMaterialCriNominee+  | TrainingMaterialRePLHolding+  | TrainingMaterialTeachingQualification+  | TrainingMaterialOperationalExperience+  | TrainingMaterialCriOtherReOCRoles+  | TrainingMaterialTrainingCourses+  | TrainingMaterialTrainingArrangements+  | ReOCOperator+  | ReOCApplicationForm+  | ReOCOperationsManual+  | ReOCMaybeTrainingMaterial+  deriving (Eq, Ord, Show)++-- | The name of the data type @Field@.+class FieldLike p f x x' where+  field ::+    Optic p f x x' Field Field++-- | Identity+instance (x' ~ Field) => FieldLike p f Field x' where+  field = id++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PersonFullNameLike p f Field x' where+  personFullName = prism' (\() -> PersonFullName) (\case PersonFullName -> Just (); PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PersonArnLike p f Field x' where+  personArn = prism' (\() -> PersonArn) (\case PersonFullName -> Nothing; PersonArn -> Just (); PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PersonPhoneNumberLike p f Field x' where+  personPhoneNumber = prism' (\() -> PersonPhoneNumber) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Just (); PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PersonEmailAddressLike p f Field x' where+  personEmailAddress = prism' (\() -> PersonEmailAddress) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Just (); AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => AddressStreetAddressLike p f Field x' where+  addressStreetAddress = prism' (\() -> AddressStreetAddress) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Just (); AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => AddressSuburbLike p f Field x' where+  addressSuburb = prism' (\() -> AddressSuburb) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Just (); AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => AddressStateOrTerritoryLike p f Field x' where+  addressStateOrTerritory = prism' (\() -> AddressStateOrTerritory) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Just (); AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => AddressPostcodeLike p f Field x' where+  addressPostcode = prism' (\() -> AddressPostcode) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Just (); OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationalHeadquartersAtRegisteredOfficeLike p f Field x' where+  operationalHeadquartersAtRegisteredOffice = prism' (\() -> OperationalHeadquartersAtRegisteredOffice) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Just (); OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationalHeadquartersOperationalHeadquartersAddressLike p f Field x' where+  operationalHeadquartersOperationalHeadquartersAddress = prism' (\() -> OperationalHeadquartersOperationalHeadquartersAddress) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Just (); CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CompanyCompanyNameLike p f Field x' where+  companyCompanyName = prism' (\() -> CompanyCompanyName) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Just (); CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CompanyAbnLike p f Field x' where+  companyAbn = prism' (\() -> CompanyAbn) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Just (); CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CompanyArnLike p f Field x' where+  companyArn = prism' (\() -> CompanyArn) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Just (); CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CompanyRegisteredOfficeLike p f Field x' where+  companyRegisteredOffice = prism' (\() -> CompanyRegisteredOffice) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Just (); CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CompanyOperationalHeadquartersLike p f Field x' where+  companyOperationalHeadquarters = prism' (\() -> CompanyOperationalHeadquarters) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Just (); CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CompanyPhoneNumberLike p f Field x' where+  companyPhoneNumber = prism' (\() -> CompanyPhoneNumber) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Just (); CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CompanyEmailAddressLike p f Field x' where+  companyEmailAddress = prism' (\() -> CompanyEmailAddress) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Just (); CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CompanyBusinessNameLike p f Field x' where+  companyBusinessName = prism' (\() -> CompanyBusinessName) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Just (); FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => FlightTerminationNoFlightTerminationSystemLike p f Field x' where+  flightTerminationNoFlightTerminationSystem = prism' (\() -> FlightTerminationNoFlightTerminationSystem) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Just (); FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => FlightTerminationFlightTerminationSystemLike p f Field x' where+  flightTerminationFlightTerminationSystem = prism' (\() -> FlightTerminationFlightTerminationSystem) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Just (); EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => EmergencyActionSituationLike p f Field x' where+  emergencyActionSituation = prism' (\() -> EmergencyActionSituation) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Just (); EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => EmergencyActionResponseLike p f Field x' where+  emergencyActionResponse = prism' (\() -> EmergencyActionResponse) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Just (); EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => EmergencyActionActionStepsLike p f Field x' where+  emergencyActionActionSteps = prism' (\() -> EmergencyActionActionSteps) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Just (); RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeRpaMakeLike p f Field x' where+  rpaTypeRpaMake = prism' (\() -> RPATypeRpaMake) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Just (); RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeRpaModelLike p f Field x' where+  rpaTypeRpaModel = prism' (\() -> RPATypeRpaModel) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Just (); RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeShortNameLike p f Field x' where+  rpaTypeShortName = prism' (\() -> RPATypeShortName) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Just (); RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeCategoryLike p f Field x' where+  rpaTypeCategory = prism' (\() -> RPATypeCategory) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Just (); RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeMaximumGrossWeightLike p f Field x' where+  rpaTypeMaximumGrossWeight = prism' (\() -> RPATypeMaximumGrossWeight) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Just (); RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeUserManualLike p f Field x' where+  rpaTypeUserManual = prism' (\() -> RPATypeUserManual) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Just (); RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeTransponderCarriageLike p f Field x' where+  rpaTypeTransponderCarriage = prism' (\() -> RPATypeTransponderCarriage) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Just (); RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeFlightTerminationLike p f Field x' where+  rpaTypeFlightTermination = prism' (\() -> RPATypeFlightTermination) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Just (); RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeInspectionItemsLike p f Field x' where+  rpaTypeInspectionItems = prism' (\() -> RPATypeInspectionItems) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Just (); RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeBeforeFlightLike p f Field x' where+  rpaTypeBeforeFlight = prism' (\() -> RPATypeBeforeFlight) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Just (); RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeBatteryWarningsLike p f Field x' where+  rpaTypeBatteryWarnings = prism' (\() -> RPATypeBatteryWarnings) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Just (); RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RpaTypeEmergencyActionsLike p f Field x' where+  rpaTypeEmergencyActions = prism' (\() -> RPATypeEmergencyActions) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Just (); EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => EquipmentEquipmentDescriptionLike p f Field x' where+  equipmentEquipmentDescription = prism' (\() -> EquipmentEquipmentDescription) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Just (); EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => EquipmentSerialNumberLike p f Field x' where+  equipmentSerialNumber = prism' (\() -> EquipmentSerialNumber) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Just (); AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => AircraftSerialNumberLike p f Field x' where+  aircraftSerialNumber = prism' (\() -> AircraftSerialNumber) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Just (); AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => AircraftAssociatedEquipmentLike p f Field x' where+  aircraftAssociatedEquipment = prism' (\() -> AircraftAssociatedEquipment) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Just (); OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperatedTypeRpaTypeLike p f Field x' where+  operatedTypeRpaType = prism' (\() -> OperatedTypeRpaType) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Just (); OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperatedTypeAirframesLike p f Field x' where+  operatedTypeAirframes = prism' (\() -> OperatedTypeAirframes) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Just (); RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RePLOriginPplTheoryLike p f Field x' where+  rePLOriginPplTheory = prism' (\() -> RePLOriginPplTheory) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Just (); RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RePLOriginRePLTrainingOrganisationLike p f Field x' where+  rePLOriginRePLTrainingOrganisation = prism' (\() -> RePLOriginRePLTrainingOrganisation) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Just (); OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OtherReOCRolesNoOtherReOCRolesLike p f Field x' where+  otherReOCRolesNoOtherReOCRoles = prism' (\() -> OtherReOCRolesNoOtherReOCRoles) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Just (); OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OtherReOCRolesOtherReOCRolesHeldLike p f Field x' where+  otherReOCRolesOtherReOCRolesHeld = prism' (\() -> OtherReOCRolesOtherReOCRolesHeld) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Just (); NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => NomineePersonLike p f Field x' where+  nomineePerson = prism' (\() -> NomineePerson) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Just (); NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => NomineeOtherQualificationsLike p f Field x' where+  nomineeOtherQualifications = prism' (\() -> NomineeOtherQualifications) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Just (); NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => NomineeAviationExperienceLike p f Field x' where+  nomineeAviationExperience = prism' (\() -> NomineeAviationExperience) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Just (); ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ChiefExecutiveNomineeLike p f Field x' where+  chiefExecutiveNominee = prism' (\() -> ChiefExecutiveNominee) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Just (); ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ChiefExecutiveDirectorStatusLike p f Field x' where+  chiefExecutiveDirectorStatus = prism' (\() -> ChiefExecutiveDirectorStatus) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Just (); ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ChiefExecutiveManagementExperienceLike p f Field x' where+  chiefExecutiveManagementExperience = prism' (\() -> ChiefExecutiveManagementExperience) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Just (); CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CrpNomineeCrpIsCEOLike p f Field x' where+  crpNomineeCrpIsCEO = prism' (\() -> CRPNomineeCrpIsCEO) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Just (); CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CrpNomineeCrpNominatedLike p f Field x' where+  crpNomineeCrpNominated = prism' (\() -> CRPNomineeCrpNominated) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Just (); ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ChiefPilotCrpNomineeLike p f Field x' where+  chiefPilotCrpNominee = prism' (\() -> ChiefPilotCrpNominee) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Just (); ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ChiefPilotRePLOriginLike p f Field x' where+  chiefPilotRePLOrigin = prism' (\() -> ChiefPilotRePLOrigin) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Just (); ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ChiefPilotRpaHistoryLike p f Field x' where+  chiefPilotRpaHistory = prism' (\() -> ChiefPilotRpaHistory) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Just (); ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ChiefPilotOtherReOCRolesLike p f Field x' where+  chiefPilotOtherReOCRoles = prism' (\() -> ChiefPilotOtherReOCRoles) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Just (); ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ChiefPilotRadioLike p f Field x' where+  chiefPilotRadio = prism' (\() -> ChiefPilotRadio) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Just (); MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => McNomineeMcIsCEOLike p f Field x' where+  mcNomineeMcIsCEO = prism' (\() -> MCNomineeMcIsCEO) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Just (); MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => McNomineeMcIsCRPLike p f Field x' where+  mcNomineeMcIsCRP = prism' (\() -> MCNomineeMcIsCRP) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Just (); MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => McNomineeMcNominatedLike p f Field x' where+  mcNomineeMcNominated = prism' (\() -> MCNomineeMcNominated) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Just (); KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => KeyPersonnelChiefExecutiveLike p f Field x' where+  keyPersonnelChiefExecutive = prism' (\() -> KeyPersonnelChiefExecutive) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Just (); KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => KeyPersonnelChiefPilotLike p f Field x' where+  keyPersonnelChiefPilot = prism' (\() -> KeyPersonnelChiefPilot) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Just (); KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => KeyPersonnelMcNomineeLike p f Field x' where+  keyPersonnelMcNominee = prism' (\() -> KeyPersonnelMcNominee) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Just (); OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperatorCompanyLike p f Field x' where+  operatorCompany = prism' (\() -> OperatorCompany) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Just (); OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperatorKeyPersonnelLike p f Field x' where+  operatorKeyPersonnel = prism' (\() -> OperatorKeyPersonnel) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Just (); OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperatorFleetLike p f Field x' where+  operatorFleet = prism' (\() -> OperatorFleet) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Just (); ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ContactPersonFullNameLike p f Field x' where+  contactPersonFullName = prism' (\() -> ContactPersonFullName) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Just (); ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ContactPersonPositionLike p f Field x' where+  contactPersonPosition = prism' (\() -> ContactPersonPosition) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Just (); ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ContactPersonPhoneNumberLike p f Field x' where+  contactPersonPhoneNumber = prism' (\() -> ContactPersonPhoneNumber) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Just (); ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ContactPersonEmailAddressLike p f Field x' where+  contactPersonEmailAddress = prism' (\() -> ContactPersonEmailAddress) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Just (); PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PrimaryContactApplicantIsPrimaryContactLike p f Field x' where+  primaryContactApplicantIsPrimaryContact = prism' (\() -> PrimaryContactApplicantIsPrimaryContact) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Just (); PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PrimaryContactPrimaryContactPersonLike p f Field x' where+  primaryContactPrimaryContactPerson = prism' (\() -> PrimaryContactPrimaryContactPerson) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Just (); HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => HistoryAnswerNoHistoryLike p f Field x' where+  historyAnswerNoHistory = prism' (\() -> HistoryAnswerNoHistory) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Just (); HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => HistoryAnswerHistoryDisclosedLike p f Field x' where+  historyAnswerHistoryDisclosed = prism' (\() -> HistoryAnswerHistoryDisclosed) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Just (); PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PersonnelHistoryActionTakenLike p f Field x' where+  personnelHistoryActionTaken = prism' (\() -> PersonnelHistoryActionTaken) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Just (); PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PersonnelHistoryTransportLicenceRefusedLike p f Field x' where+  personnelHistoryTransportLicenceRefused = prism' (\() -> PersonnelHistoryTransportLicenceRefused) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Just (); PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PersonnelHistoryCriminalConvictionLike p f Field x' where+  personnelHistoryCriminalConviction = prism' (\() -> PersonnelHistoryCriminalConviction) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Just (); PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PersonnelHistorySuspensionPendingLike p f Field x' where+  personnelHistorySuspensionPending = prism' (\() -> PersonnelHistorySuspensionPending) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Just (); RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RegulatoryActionReocSuspendedOrCancelledLike p f Field x' where+  regulatoryActionReocSuspendedOrCancelled = prism' (\() -> RegulatoryActionReocSuspendedOrCancelled) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Just (); RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RegulatoryActionTypeOfActionLike p f Field x' where+  regulatoryActionTypeOfAction = prism' (\() -> RegulatoryActionTypeOfAction) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Just (); RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RegulatoryActionAuthorisationActionLike p f Field x' where+  regulatoryActionAuthorisationAction = prism' (\() -> RegulatoryActionAuthorisationAction) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Just (); RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RegulatoryActionActionDateLike p f Field x' where+  regulatoryActionActionDate = prism' (\() -> RegulatoryActionActionDate) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Just (); RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RegulatoryActionActionDetailsLike p f Field x' where+  regulatoryActionActionDetails = prism' (\() -> RegulatoryActionActionDetails) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Just (); RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RegulatoryHistoryNoRegulatoryActionLike p f Field x' where+  regulatoryHistoryNoRegulatoryAction = prism' (\() -> RegulatoryHistoryNoRegulatoryAction) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Just (); RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RegulatoryHistoryRegulatoryActionTakenLike p f Field x' where+  regulatoryHistoryRegulatoryActionTaken = prism' (\() -> RegulatoryHistoryRegulatoryActionTaken) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Just (); DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => DeclarantFullNameLike p f Field x' where+  declarantFullName = prism' (\() -> DeclarantFullName) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Just (); DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => DeclarantRoleLike p f Field x' where+  declarantRole = prism' (\() -> DeclarantRole) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Just (); DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => DeclarationDeclaredByCEOLike p f Field x' where+  declarationDeclaredByCEO = prism' (\() -> DeclarationDeclaredByCEO) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Just (); DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => DeclarationDeclaredByResponsibleManagerLike p f Field x' where+  declarationDeclaredByResponsibleManager = prism' (\() -> DeclarationDeclaredByResponsibleManager) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Just (); DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => DeclarationDeclaredByAgentLike p f Field x' where+  declarationDeclaredByAgent = prism' (\() -> DeclarationDeclaredByAgent) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Just (); DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => DeclarationDeclaredByOtherLike p f Field x' where+  declarationDeclaredByOther = prism' (\() -> DeclarationDeclaredByOther) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Just (); WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => WrittenSignatureWrittenSignatureImageLike p f Field x' where+  writtenSignatureWrittenSignatureImage = prism' (\() -> WrittenSignatureWrittenSignatureImage) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Just (); WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => WrittenSignatureWrittenSignatureFileLike p f Field x' where+  writtenSignatureWrittenSignatureFile = prism' (\() -> WrittenSignatureWrittenSignatureFile) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Just (); ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ApplicationFormPrimaryContactLike p f Field x' where+  applicationFormPrimaryContact = prism' (\() -> ApplicationFormPrimaryContact) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Just (); ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ApplicationFormPersonnelHistoryLike p f Field x' where+  applicationFormPersonnelHistory = prism' (\() -> ApplicationFormPersonnelHistory) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Just (); ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ApplicationFormRegulatoryHistoryLike p f Field x' where+  applicationFormRegulatoryHistory = prism' (\() -> ApplicationFormRegulatoryHistory) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Just (); ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ApplicationFormProceduresLibraryLike p f Field x' where+  applicationFormProceduresLibrary = prism' (\() -> ApplicationFormProceduresLibrary) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Just (); ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ApplicationFormOtherDocumentsLike p f Field x' where+  applicationFormOtherDocuments = prism' (\() -> ApplicationFormOtherDocuments) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Just (); ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ApplicationFormDeclarationLike p f Field x' where+  applicationFormDeclaration = prism' (\() -> ApplicationFormDeclaration) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Just (); ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ApplicationFormSignatureLike p f Field x' where+  applicationFormSignature = prism' (\() -> ApplicationFormSignature) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Just (); VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => VersionMajorVersionLike p f Field x' where+  versionMajorVersion = prism' (\() -> VersionMajorVersion) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Just (); VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => VersionMinorVersionLike p f Field x' where+  versionMinorVersion = prism' (\() -> VersionMinorVersion) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Just (); FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => FirstIssueVersionLike p f Field x' where+  firstIssueVersion = prism' (\() -> FirstIssueVersion) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Just (); FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => FirstIssueIssueDateLike p f Field x' where+  firstIssueIssueDate = prism' (\() -> FirstIssueIssueDate) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Just (); FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => FirstIssueEffectiveLike p f Field x' where+  firstIssueEffective = prism' (\() -> FirstIssueEffective) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Just (); FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => FirstIssuePartsLike p f Field x' where+  firstIssueParts = prism' (\() -> FirstIssueParts) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Just (); FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => FirstIssueDetailsLike p f Field x' where+  firstIssueDetails = prism' (\() -> FirstIssueDetails) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Just (); RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RevisionVersionIncrementLike p f Field x' where+  revisionVersionIncrement = prism' (\() -> RevisionVersionIncrement) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Just (); RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RevisionMonthsAfterLike p f Field x' where+  revisionMonthsAfter = prism' (\() -> RevisionMonthsAfter) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Just (); RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RevisionEffectiveLike p f Field x' where+  revisionEffective = prism' (\() -> RevisionEffective) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Just (); RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RevisionPartsLike p f Field x' where+  revisionParts = prism' (\() -> RevisionParts) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Just (); RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RevisionDetailsLike p f Field x' where+  revisionDetails = prism' (\() -> RevisionDetails) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Just (); PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesRecencyFlightsLike p f Field x' where+  policiesRecencyFlights = prism' (\() -> PoliciesRecencyFlights) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Just (); PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesRecencyDaysLike p f Field x' where+  policiesRecencyDays = prism' (\() -> PoliciesRecencyDays) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Just (); PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesRefresherMonthsLike p f Field x' where+  policiesRefresherMonths = prism' (\() -> PoliciesRefresherMonths) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Just (); PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesAlcoholHoursLike p f Field x' where+  policiesAlcoholHours = prism' (\() -> PoliciesAlcoholHours) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Just (); PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesRestHoursLike p f Field x' where+  policiesRestHours = prism' (\() -> PoliciesRestHours) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Just (); PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesDutyHoursLike p f Field x' where+  policiesDutyHours = prism' (\() -> PoliciesDutyHours) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Just (); PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesInspectionMonthsLike p f Field x' where+  policiesInspectionMonths = prism' (\() -> PoliciesInspectionMonths) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Just (); PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesInspectionHoursLike p f Field x' where+  policiesInspectionHours = prism' (\() -> PoliciesInspectionHours) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Just (); PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesBatteryReserveLike p f Field x' where+  policiesBatteryReserve = prism' (\() -> PoliciesBatteryReserve) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Just (); PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesBackupFrequencyLike p f Field x' where+  policiesBackupFrequency = prism' (\() -> PoliciesBackupFrequency) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Just (); PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesIndependentReviewYearsLike p f Field x' where+  policiesIndependentReviewYears = prism' (\() -> PoliciesIndependentReviewYears) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Just (); PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => PoliciesCheckingMonthsLike p f Field x' where+  policiesCheckingMonths = prism' (\() -> PoliciesCheckingMonths) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Just (); RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskAssessmentRiskLikelihoodLike p f Field x' where+  riskAssessmentRiskLikelihood = prism' (\() -> RiskAssessmentRiskLikelihood) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Just (); RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskAssessmentRiskConsequenceLike p f Field x' where+  riskAssessmentRiskConsequence = prism' (\() -> RiskAssessmentRiskConsequence) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Just (); RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskHazardLike p f Field x' where+  riskHazard = prism' (\() -> RiskHazard) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Just (); RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskRiskDescriptionLike p f Field x' where+  riskRiskDescription = prism' (\() -> RiskRiskDescription) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Just (); RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskExistingControlsLike p f Field x' where+  riskExistingControls = prism' (\() -> RiskExistingControls) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Just (); RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskInitialRiskLike p f Field x' where+  riskInitialRisk = prism' (\() -> RiskInitialRisk) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Just (); RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskAdditionalControlsLike p f Field x' where+  riskAdditionalControls = prism' (\() -> RiskAdditionalControls) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Just (); RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskResidualRiskLike p f Field x' where+  riskResidualRisk = prism' (\() -> RiskResidualRisk) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Just (); RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskRiskOwnerLike p f Field x' where+  riskRiskOwner = prism' (\() -> RiskRiskOwner) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Just (); RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskDateEnteredLike p f Field x' where+  riskDateEntered = prism' (\() -> RiskDateEntered) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Just (); RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RiskReviewMonthsLike p f Field x' where+  riskReviewMonths = prism' (\() -> RiskReviewMonths) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Just (); OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationsManualFirstIssueLike p f Field x' where+  operationsManualFirstIssue = prism' (\() -> OperationsManualFirstIssue) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Just (); OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationsManualRevisionsLike p f Field x' where+  operationsManualRevisions = prism' (\() -> OperationsManualRevisions) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Just (); OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationsManualServicesLike p f Field x' where+  operationsManualServices = prism' (\() -> OperationsManualServices) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Just (); OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationsManualPoliciesLike p f Field x' where+  operationsManualPolicies = prism' (\() -> OperationsManualPolicies) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Just (); OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationsManualRiskRegisterLike p f Field x' where+  operationsManualRiskRegister = prism' (\() -> OperationsManualRiskRegister) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Just (); OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationsManualCrewLike p f Field x' where+  operationsManualCrew = prism' (\() -> OperationsManualCrew) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Just (); OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationsManualPilotsLike p f Field x' where+  operationsManualPilots = prism' (\() -> OperationsManualPilots) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Just (); CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CriNomineeCriIsCEOLike p f Field x' where+  criNomineeCriIsCEO = prism' (\() -> CRINomineeCriIsCEO) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Just (); CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CriNomineeCriIsCRPLike p f Field x' where+  criNomineeCriIsCRP = prism' (\() -> CRINomineeCriIsCRP) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Just (); CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CriNomineeCriIsMCLike p f Field x' where+  criNomineeCriIsMC = prism' (\() -> CRINomineeCriIsMC) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Just (); CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => CriNomineeCriNominatedLike p f Field x' where+  criNomineeCriNominated = prism' (\() -> CRINomineeCriNominated) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Just (); RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RePLHoldingHoldsRePLForEachTypeLike p f Field x' where+  rePLHoldingHoldsRePLForEachType = prism' (\() -> RePLHoldingHoldsRePLForEachType) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Just (); RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => RePLHoldingRePLHoldingIntentLike p f Field x' where+  rePLHoldingRePLHoldingIntent = prism' (\() -> RePLHoldingRePLHoldingIntent) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Just (); TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TeachingQualificationTeachingQualificationHeldLike p f Field x' where+  teachingQualificationTeachingQualificationHeld = prism' (\() -> TeachingQualificationTeachingQualificationHeld) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Just (); TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TeachingQualificationTeachingQualificationIntentLike p f Field x' where+  teachingQualificationTeachingQualificationIntent = prism' (\() -> TeachingQualificationTeachingQualificationIntent) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Just (); OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationalExperienceHasOperationalExperienceLike p f Field x' where+  operationalExperienceHasOperationalExperience = prism' (\() -> OperationalExperienceHasOperationalExperience) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Just (); OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationalExperienceOperationalExperienceIntentLike p f Field x' where+  operationalExperienceOperationalExperienceIntent = prism' (\() -> OperationalExperienceOperationalExperienceIntent) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Just (); OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => OperationalExperienceOperationalExperienceNotApplicableLike p f Field x' where+  operationalExperienceOperationalExperienceNotApplicable = prism' (\() -> OperationalExperienceOperationalExperienceNotApplicable) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Just (); TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingCourseCourseKindLike p f Field x' where+  trainingCourseCourseKind = prism' (\() -> TrainingCourseCourseKind) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Just (); TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingCourseTrainingRPALike p f Field x' where+  trainingCourseTrainingRPA = prism' (\() -> TrainingCourseTrainingRPA) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Just (); TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingCourseComplexitiesLike p f Field x' where+  trainingCourseComplexities = prism' (\() -> TrainingCourseComplexities) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Just (); TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsTheoryVenuesLike p f Field x' where+  trainingArrangementsTheoryVenues = prism' (\() -> TrainingArrangementsTheoryVenues) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Just (); TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsPracticalAreasLike p f Field x' where+  trainingArrangementsPracticalAreas = prism' (\() -> TrainingArrangementsPracticalAreas) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Just (); TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsMaxStudentsPerCourseLike p f Field x' where+  trainingArrangementsMaxStudentsPerCourse = prism' (\() -> TrainingArrangementsMaxStudentsPerCourse) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Just (); TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsMaxStudentsPerInstructorLike p f Field x' where+  trainingArrangementsMaxStudentsPerInstructor = prism' (\() -> TrainingArrangementsMaxStudentsPerInstructor) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Just (); TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsTakeoverLike p f Field x' where+  trainingArrangementsTakeover = prism' (\() -> TrainingArrangementsTakeover) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Just (); TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsTheoryLike p f Field x' where+  trainingArrangementsTheory = prism' (\() -> TrainingArrangementsTheory) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Just (); TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsExamLike p f Field x' where+  trainingArrangementsExam = prism' (\() -> TrainingArrangementsExam) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Just (); TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsExamPassMarkLike p f Field x' where+  trainingArrangementsExamPassMark = prism' (\() -> TrainingArrangementsExamPassMark) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Just (); TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsExaminerLike p f Field x' where+  trainingArrangementsExaminer = prism' (\() -> TrainingArrangementsExaminer) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Just (); TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingArrangementsSimulatorLike p f Field x' where+  trainingArrangementsSimulator = prism' (\() -> TrainingArrangementsSimulator) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Just (); TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingMaterialCriNomineeLike p f Field x' where+  trainingMaterialCriNominee = prism' (\() -> TrainingMaterialCriNominee) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Just (); TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingMaterialRePLHoldingLike p f Field x' where+  trainingMaterialRePLHolding = prism' (\() -> TrainingMaterialRePLHolding) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Just (); TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingMaterialTeachingQualificationLike p f Field x' where+  trainingMaterialTeachingQualification = prism' (\() -> TrainingMaterialTeachingQualification) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Just (); TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingMaterialOperationalExperienceLike p f Field x' where+  trainingMaterialOperationalExperience = prism' (\() -> TrainingMaterialOperationalExperience) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Just (); TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingMaterialCriOtherReOCRolesLike p f Field x' where+  trainingMaterialCriOtherReOCRoles = prism' (\() -> TrainingMaterialCriOtherReOCRoles) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Just (); TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingMaterialTrainingCoursesLike p f Field x' where+  trainingMaterialTrainingCourses = prism' (\() -> TrainingMaterialTrainingCourses) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Just (); TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => TrainingMaterialTrainingArrangementsLike p f Field x' where+  trainingMaterialTrainingArrangements = prism' (\() -> TrainingMaterialTrainingArrangements) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Just (); ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ReOCOperatorLike p f Field x' where+  reOCOperator = prism' (\() -> ReOCOperator) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Just (); ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ReOCApplicationFormLike p f Field x' where+  reOCApplicationForm = prism' (\() -> ReOCApplicationForm) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Just (); ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ReOCOperationsManualLike p f Field x' where+  reOCOperationsManual = prism' (\() -> ReOCOperationsManual) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Just (); ReOCMaybeTrainingMaterial -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Field) => ReOCMaybeTrainingMaterialLike p f Field x' where+  reOCMaybeTrainingMaterial = prism' (\() -> ReOCMaybeTrainingMaterial) (\case PersonFullName -> Nothing; PersonArn -> Nothing; PersonPhoneNumber -> Nothing; PersonEmailAddress -> Nothing; AddressStreetAddress -> Nothing; AddressSuburb -> Nothing; AddressStateOrTerritory -> Nothing; AddressPostcode -> Nothing; OperationalHeadquartersAtRegisteredOffice -> Nothing; OperationalHeadquartersOperationalHeadquartersAddress -> Nothing; CompanyCompanyName -> Nothing; CompanyAbn -> Nothing; CompanyArn -> Nothing; CompanyRegisteredOffice -> Nothing; CompanyOperationalHeadquarters -> Nothing; CompanyPhoneNumber -> Nothing; CompanyEmailAddress -> Nothing; CompanyBusinessName -> Nothing; FlightTerminationNoFlightTerminationSystem -> Nothing; FlightTerminationFlightTerminationSystem -> Nothing; EmergencyActionSituation -> Nothing; EmergencyActionResponse -> Nothing; EmergencyActionActionSteps -> Nothing; RPATypeRpaMake -> Nothing; RPATypeRpaModel -> Nothing; RPATypeShortName -> Nothing; RPATypeCategory -> Nothing; RPATypeMaximumGrossWeight -> Nothing; RPATypeUserManual -> Nothing; RPATypeTransponderCarriage -> Nothing; RPATypeFlightTermination -> Nothing; RPATypeInspectionItems -> Nothing; RPATypeBeforeFlight -> Nothing; RPATypeBatteryWarnings -> Nothing; RPATypeEmergencyActions -> Nothing; EquipmentEquipmentDescription -> Nothing; EquipmentSerialNumber -> Nothing; AircraftSerialNumber -> Nothing; AircraftAssociatedEquipment -> Nothing; OperatedTypeRpaType -> Nothing; OperatedTypeAirframes -> Nothing; RePLOriginPplTheory -> Nothing; RePLOriginRePLTrainingOrganisation -> Nothing; OtherReOCRolesNoOtherReOCRoles -> Nothing; OtherReOCRolesOtherReOCRolesHeld -> Nothing; NomineePerson -> Nothing; NomineeOtherQualifications -> Nothing; NomineeAviationExperience -> Nothing; ChiefExecutiveNominee -> Nothing; ChiefExecutiveDirectorStatus -> Nothing; ChiefExecutiveManagementExperience -> Nothing; CRPNomineeCrpIsCEO -> Nothing; CRPNomineeCrpNominated -> Nothing; ChiefPilotCrpNominee -> Nothing; ChiefPilotRePLOrigin -> Nothing; ChiefPilotRpaHistory -> Nothing; ChiefPilotOtherReOCRoles -> Nothing; ChiefPilotRadio -> Nothing; MCNomineeMcIsCEO -> Nothing; MCNomineeMcIsCRP -> Nothing; MCNomineeMcNominated -> Nothing; KeyPersonnelChiefExecutive -> Nothing; KeyPersonnelChiefPilot -> Nothing; KeyPersonnelMcNominee -> Nothing; OperatorCompany -> Nothing; OperatorKeyPersonnel -> Nothing; OperatorFleet -> Nothing; ContactPersonFullName -> Nothing; ContactPersonPosition -> Nothing; ContactPersonPhoneNumber -> Nothing; ContactPersonEmailAddress -> Nothing; PrimaryContactApplicantIsPrimaryContact -> Nothing; PrimaryContactPrimaryContactPerson -> Nothing; HistoryAnswerNoHistory -> Nothing; HistoryAnswerHistoryDisclosed -> Nothing; PersonnelHistoryActionTaken -> Nothing; PersonnelHistoryTransportLicenceRefused -> Nothing; PersonnelHistoryCriminalConviction -> Nothing; PersonnelHistorySuspensionPending -> Nothing; RegulatoryActionReocSuspendedOrCancelled -> Nothing; RegulatoryActionTypeOfAction -> Nothing; RegulatoryActionAuthorisationAction -> Nothing; RegulatoryActionActionDate -> Nothing; RegulatoryActionActionDetails -> Nothing; RegulatoryHistoryNoRegulatoryAction -> Nothing; RegulatoryHistoryRegulatoryActionTaken -> Nothing; DeclarantFullName -> Nothing; DeclarantRole -> Nothing; DeclarationDeclaredByCEO -> Nothing; DeclarationDeclaredByResponsibleManager -> Nothing; DeclarationDeclaredByAgent -> Nothing; DeclarationDeclaredByOther -> Nothing; WrittenSignatureWrittenSignatureImage -> Nothing; WrittenSignatureWrittenSignatureFile -> Nothing; ApplicationFormPrimaryContact -> Nothing; ApplicationFormPersonnelHistory -> Nothing; ApplicationFormRegulatoryHistory -> Nothing; ApplicationFormProceduresLibrary -> Nothing; ApplicationFormOtherDocuments -> Nothing; ApplicationFormDeclaration -> Nothing; ApplicationFormSignature -> Nothing; VersionMajorVersion -> Nothing; VersionMinorVersion -> Nothing; FirstIssueVersion -> Nothing; FirstIssueIssueDate -> Nothing; FirstIssueEffective -> Nothing; FirstIssueParts -> Nothing; FirstIssueDetails -> Nothing; RevisionVersionIncrement -> Nothing; RevisionMonthsAfter -> Nothing; RevisionEffective -> Nothing; RevisionParts -> Nothing; RevisionDetails -> Nothing; PoliciesRecencyFlights -> Nothing; PoliciesRecencyDays -> Nothing; PoliciesRefresherMonths -> Nothing; PoliciesAlcoholHours -> Nothing; PoliciesRestHours -> Nothing; PoliciesDutyHours -> Nothing; PoliciesInspectionMonths -> Nothing; PoliciesInspectionHours -> Nothing; PoliciesBatteryReserve -> Nothing; PoliciesBackupFrequency -> Nothing; PoliciesIndependentReviewYears -> Nothing; PoliciesCheckingMonths -> Nothing; RiskAssessmentRiskLikelihood -> Nothing; RiskAssessmentRiskConsequence -> Nothing; RiskHazard -> Nothing; RiskRiskDescription -> Nothing; RiskExistingControls -> Nothing; RiskInitialRisk -> Nothing; RiskAdditionalControls -> Nothing; RiskResidualRisk -> Nothing; RiskRiskOwner -> Nothing; RiskDateEntered -> Nothing; RiskReviewMonths -> Nothing; OperationsManualFirstIssue -> Nothing; OperationsManualRevisions -> Nothing; OperationsManualServices -> Nothing; OperationsManualPolicies -> Nothing; OperationsManualRiskRegister -> Nothing; OperationsManualCrew -> Nothing; OperationsManualPilots -> Nothing; CRINomineeCriIsCEO -> Nothing; CRINomineeCriIsCRP -> Nothing; CRINomineeCriIsMC -> Nothing; CRINomineeCriNominated -> Nothing; RePLHoldingHoldsRePLForEachType -> Nothing; RePLHoldingRePLHoldingIntent -> Nothing; TeachingQualificationTeachingQualificationHeld -> Nothing; TeachingQualificationTeachingQualificationIntent -> Nothing; OperationalExperienceHasOperationalExperience -> Nothing; OperationalExperienceOperationalExperienceIntent -> Nothing; OperationalExperienceOperationalExperienceNotApplicable -> Nothing; TrainingCourseCourseKind -> Nothing; TrainingCourseTrainingRPA -> Nothing; TrainingCourseComplexities -> Nothing; TrainingArrangementsTheoryVenues -> Nothing; TrainingArrangementsPracticalAreas -> Nothing; TrainingArrangementsMaxStudentsPerCourse -> Nothing; TrainingArrangementsMaxStudentsPerInstructor -> Nothing; TrainingArrangementsTakeover -> Nothing; TrainingArrangementsTheory -> Nothing; TrainingArrangementsExam -> Nothing; TrainingArrangementsExamPassMark -> Nothing; TrainingArrangementsExaminer -> Nothing; TrainingArrangementsSimulator -> Nothing; TrainingMaterialCriNominee -> Nothing; TrainingMaterialRePLHolding -> Nothing; TrainingMaterialTeachingQualification -> Nothing; TrainingMaterialOperationalExperience -> Nothing; TrainingMaterialCriOtherReOCRoles -> Nothing; TrainingMaterialTrainingCourses -> Nothing; TrainingMaterialTrainingArrangements -> Nothing; ReOCOperator -> Nothing; ReOCApplicationForm -> Nothing; ReOCOperationsManual -> Nothing; ReOCMaybeTrainingMaterial -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesField == id+-}+lawNamesField :: Field -> Field+lawNamesField = \case+  PersonFullName -> review personFullName ()+  PersonArn -> review personArn ()+  PersonPhoneNumber -> review personPhoneNumber ()+  PersonEmailAddress -> review personEmailAddress ()+  AddressStreetAddress -> review addressStreetAddress ()+  AddressSuburb -> review addressSuburb ()+  AddressStateOrTerritory -> review addressStateOrTerritory ()+  AddressPostcode -> review addressPostcode ()+  OperationalHeadquartersAtRegisteredOffice -> review operationalHeadquartersAtRegisteredOffice ()+  OperationalHeadquartersOperationalHeadquartersAddress -> review operationalHeadquartersOperationalHeadquartersAddress ()+  CompanyCompanyName -> review companyCompanyName ()+  CompanyAbn -> review companyAbn ()+  CompanyArn -> review companyArn ()+  CompanyRegisteredOffice -> review companyRegisteredOffice ()+  CompanyOperationalHeadquarters -> review companyOperationalHeadquarters ()+  CompanyPhoneNumber -> review companyPhoneNumber ()+  CompanyEmailAddress -> review companyEmailAddress ()+  CompanyBusinessName -> review companyBusinessName ()+  FlightTerminationNoFlightTerminationSystem -> review flightTerminationNoFlightTerminationSystem ()+  FlightTerminationFlightTerminationSystem -> review flightTerminationFlightTerminationSystem ()+  EmergencyActionSituation -> review emergencyActionSituation ()+  EmergencyActionResponse -> review emergencyActionResponse ()+  EmergencyActionActionSteps -> review emergencyActionActionSteps ()+  RPATypeRpaMake -> review rpaTypeRpaMake ()+  RPATypeRpaModel -> review rpaTypeRpaModel ()+  RPATypeShortName -> review rpaTypeShortName ()+  RPATypeCategory -> review rpaTypeCategory ()+  RPATypeMaximumGrossWeight -> review rpaTypeMaximumGrossWeight ()+  RPATypeUserManual -> review rpaTypeUserManual ()+  RPATypeTransponderCarriage -> review rpaTypeTransponderCarriage ()+  RPATypeFlightTermination -> review rpaTypeFlightTermination ()+  RPATypeInspectionItems -> review rpaTypeInspectionItems ()+  RPATypeBeforeFlight -> review rpaTypeBeforeFlight ()+  RPATypeBatteryWarnings -> review rpaTypeBatteryWarnings ()+  RPATypeEmergencyActions -> review rpaTypeEmergencyActions ()+  EquipmentEquipmentDescription -> review equipmentEquipmentDescription ()+  EquipmentSerialNumber -> review equipmentSerialNumber ()+  AircraftSerialNumber -> review aircraftSerialNumber ()+  AircraftAssociatedEquipment -> review aircraftAssociatedEquipment ()+  OperatedTypeRpaType -> review operatedTypeRpaType ()+  OperatedTypeAirframes -> review operatedTypeAirframes ()+  RePLOriginPplTheory -> review rePLOriginPplTheory ()+  RePLOriginRePLTrainingOrganisation -> review rePLOriginRePLTrainingOrganisation ()+  OtherReOCRolesNoOtherReOCRoles -> review otherReOCRolesNoOtherReOCRoles ()+  OtherReOCRolesOtherReOCRolesHeld -> review otherReOCRolesOtherReOCRolesHeld ()+  NomineePerson -> review nomineePerson ()+  NomineeOtherQualifications -> review nomineeOtherQualifications ()+  NomineeAviationExperience -> review nomineeAviationExperience ()+  ChiefExecutiveNominee -> review chiefExecutiveNominee ()+  ChiefExecutiveDirectorStatus -> review chiefExecutiveDirectorStatus ()+  ChiefExecutiveManagementExperience -> review chiefExecutiveManagementExperience ()+  CRPNomineeCrpIsCEO -> review crpNomineeCrpIsCEO ()+  CRPNomineeCrpNominated -> review crpNomineeCrpNominated ()+  ChiefPilotCrpNominee -> review chiefPilotCrpNominee ()+  ChiefPilotRePLOrigin -> review chiefPilotRePLOrigin ()+  ChiefPilotRpaHistory -> review chiefPilotRpaHistory ()+  ChiefPilotOtherReOCRoles -> review chiefPilotOtherReOCRoles ()+  ChiefPilotRadio -> review chiefPilotRadio ()+  MCNomineeMcIsCEO -> review mcNomineeMcIsCEO ()+  MCNomineeMcIsCRP -> review mcNomineeMcIsCRP ()+  MCNomineeMcNominated -> review mcNomineeMcNominated ()+  KeyPersonnelChiefExecutive -> review keyPersonnelChiefExecutive ()+  KeyPersonnelChiefPilot -> review keyPersonnelChiefPilot ()+  KeyPersonnelMcNominee -> review keyPersonnelMcNominee ()+  OperatorCompany -> review operatorCompany ()+  OperatorKeyPersonnel -> review operatorKeyPersonnel ()+  OperatorFleet -> review operatorFleet ()+  ContactPersonFullName -> review contactPersonFullName ()+  ContactPersonPosition -> review contactPersonPosition ()+  ContactPersonPhoneNumber -> review contactPersonPhoneNumber ()+  ContactPersonEmailAddress -> review contactPersonEmailAddress ()+  PrimaryContactApplicantIsPrimaryContact -> review primaryContactApplicantIsPrimaryContact ()+  PrimaryContactPrimaryContactPerson -> review primaryContactPrimaryContactPerson ()+  HistoryAnswerNoHistory -> review historyAnswerNoHistory ()+  HistoryAnswerHistoryDisclosed -> review historyAnswerHistoryDisclosed ()+  PersonnelHistoryActionTaken -> review personnelHistoryActionTaken ()+  PersonnelHistoryTransportLicenceRefused -> review personnelHistoryTransportLicenceRefused ()+  PersonnelHistoryCriminalConviction -> review personnelHistoryCriminalConviction ()+  PersonnelHistorySuspensionPending -> review personnelHistorySuspensionPending ()+  RegulatoryActionReocSuspendedOrCancelled -> review regulatoryActionReocSuspendedOrCancelled ()+  RegulatoryActionTypeOfAction -> review regulatoryActionTypeOfAction ()+  RegulatoryActionAuthorisationAction -> review regulatoryActionAuthorisationAction ()+  RegulatoryActionActionDate -> review regulatoryActionActionDate ()+  RegulatoryActionActionDetails -> review regulatoryActionActionDetails ()+  RegulatoryHistoryNoRegulatoryAction -> review regulatoryHistoryNoRegulatoryAction ()+  RegulatoryHistoryRegulatoryActionTaken -> review regulatoryHistoryRegulatoryActionTaken ()+  DeclarantFullName -> review declarantFullName ()+  DeclarantRole -> review declarantRole ()+  DeclarationDeclaredByCEO -> review declarationDeclaredByCEO ()+  DeclarationDeclaredByResponsibleManager -> review declarationDeclaredByResponsibleManager ()+  DeclarationDeclaredByAgent -> review declarationDeclaredByAgent ()+  DeclarationDeclaredByOther -> review declarationDeclaredByOther ()+  WrittenSignatureWrittenSignatureImage -> review writtenSignatureWrittenSignatureImage ()+  WrittenSignatureWrittenSignatureFile -> review writtenSignatureWrittenSignatureFile ()+  ApplicationFormPrimaryContact -> review applicationFormPrimaryContact ()+  ApplicationFormPersonnelHistory -> review applicationFormPersonnelHistory ()+  ApplicationFormRegulatoryHistory -> review applicationFormRegulatoryHistory ()+  ApplicationFormProceduresLibrary -> review applicationFormProceduresLibrary ()+  ApplicationFormOtherDocuments -> review applicationFormOtherDocuments ()+  ApplicationFormDeclaration -> review applicationFormDeclaration ()+  ApplicationFormSignature -> review applicationFormSignature ()+  VersionMajorVersion -> review versionMajorVersion ()+  VersionMinorVersion -> review versionMinorVersion ()+  FirstIssueVersion -> review firstIssueVersion ()+  FirstIssueIssueDate -> review firstIssueIssueDate ()+  FirstIssueEffective -> review firstIssueEffective ()+  FirstIssueParts -> review firstIssueParts ()+  FirstIssueDetails -> review firstIssueDetails ()+  RevisionVersionIncrement -> review revisionVersionIncrement ()+  RevisionMonthsAfter -> review revisionMonthsAfter ()+  RevisionEffective -> review revisionEffective ()+  RevisionParts -> review revisionParts ()+  RevisionDetails -> review revisionDetails ()+  PoliciesRecencyFlights -> review policiesRecencyFlights ()+  PoliciesRecencyDays -> review policiesRecencyDays ()+  PoliciesRefresherMonths -> review policiesRefresherMonths ()+  PoliciesAlcoholHours -> review policiesAlcoholHours ()+  PoliciesRestHours -> review policiesRestHours ()+  PoliciesDutyHours -> review policiesDutyHours ()+  PoliciesInspectionMonths -> review policiesInspectionMonths ()+  PoliciesInspectionHours -> review policiesInspectionHours ()+  PoliciesBatteryReserve -> review policiesBatteryReserve ()+  PoliciesBackupFrequency -> review policiesBackupFrequency ()+  PoliciesIndependentReviewYears -> review policiesIndependentReviewYears ()+  PoliciesCheckingMonths -> review policiesCheckingMonths ()+  RiskAssessmentRiskLikelihood -> review riskAssessmentRiskLikelihood ()+  RiskAssessmentRiskConsequence -> review riskAssessmentRiskConsequence ()+  RiskHazard -> review riskHazard ()+  RiskRiskDescription -> review riskRiskDescription ()+  RiskExistingControls -> review riskExistingControls ()+  RiskInitialRisk -> review riskInitialRisk ()+  RiskAdditionalControls -> review riskAdditionalControls ()+  RiskResidualRisk -> review riskResidualRisk ()+  RiskRiskOwner -> review riskRiskOwner ()+  RiskDateEntered -> review riskDateEntered ()+  RiskReviewMonths -> review riskReviewMonths ()+  OperationsManualFirstIssue -> review operationsManualFirstIssue ()+  OperationsManualRevisions -> review operationsManualRevisions ()+  OperationsManualServices -> review operationsManualServices ()+  OperationsManualPolicies -> review operationsManualPolicies ()+  OperationsManualRiskRegister -> review operationsManualRiskRegister ()+  OperationsManualCrew -> review operationsManualCrew ()+  OperationsManualPilots -> review operationsManualPilots ()+  CRINomineeCriIsCEO -> review criNomineeCriIsCEO ()+  CRINomineeCriIsCRP -> review criNomineeCriIsCRP ()+  CRINomineeCriIsMC -> review criNomineeCriIsMC ()+  CRINomineeCriNominated -> review criNomineeCriNominated ()+  RePLHoldingHoldsRePLForEachType -> review rePLHoldingHoldsRePLForEachType ()+  RePLHoldingRePLHoldingIntent -> review rePLHoldingRePLHoldingIntent ()+  TeachingQualificationTeachingQualificationHeld -> review teachingQualificationTeachingQualificationHeld ()+  TeachingQualificationTeachingQualificationIntent -> review teachingQualificationTeachingQualificationIntent ()+  OperationalExperienceHasOperationalExperience -> review operationalExperienceHasOperationalExperience ()+  OperationalExperienceOperationalExperienceIntent -> review operationalExperienceOperationalExperienceIntent ()+  OperationalExperienceOperationalExperienceNotApplicable -> review operationalExperienceOperationalExperienceNotApplicable ()+  TrainingCourseCourseKind -> review trainingCourseCourseKind ()+  TrainingCourseTrainingRPA -> review trainingCourseTrainingRPA ()+  TrainingCourseComplexities -> review trainingCourseComplexities ()+  TrainingArrangementsTheoryVenues -> review trainingArrangementsTheoryVenues ()+  TrainingArrangementsPracticalAreas -> review trainingArrangementsPracticalAreas ()+  TrainingArrangementsMaxStudentsPerCourse -> review trainingArrangementsMaxStudentsPerCourse ()+  TrainingArrangementsMaxStudentsPerInstructor -> review trainingArrangementsMaxStudentsPerInstructor ()+  TrainingArrangementsTakeover -> review trainingArrangementsTakeover ()+  TrainingArrangementsTheory -> review trainingArrangementsTheory ()+  TrainingArrangementsExam -> review trainingArrangementsExam ()+  TrainingArrangementsExamPassMark -> review trainingArrangementsExamPassMark ()+  TrainingArrangementsExaminer -> review trainingArrangementsExaminer ()+  TrainingArrangementsSimulator -> review trainingArrangementsSimulator ()+  TrainingMaterialCriNominee -> review trainingMaterialCriNominee ()+  TrainingMaterialRePLHolding -> review trainingMaterialRePLHolding ()+  TrainingMaterialTeachingQualification -> review trainingMaterialTeachingQualification ()+  TrainingMaterialOperationalExperience -> review trainingMaterialOperationalExperience ()+  TrainingMaterialCriOtherReOCRoles -> review trainingMaterialCriOtherReOCRoles ()+  TrainingMaterialTrainingCourses -> review trainingMaterialTrainingCourses ()+  TrainingMaterialTrainingArrangements -> review trainingMaterialTrainingArrangements ()+  ReOCOperator -> review reOCOperator ()+  ReOCApplicationForm -> review reOCApplicationForm ()+  ReOCOperationsManual -> review reOCOperationsManual ()+  ReOCMaybeTrainingMaterial -> review reOCMaybeTrainingMaterial ()++-- | The classes that a data type holding @Field@ in one field, or in one or more constructors, inherits.+type InheritField s =+  ( ( FieldLike (->) (Const ()) s s+    , PersonFullNameLike (->) (Const ()) s s+    , PersonArnLike (->) (Const ()) s s+    , PersonPhoneNumberLike (->) (Const ()) s s+    , PersonEmailAddressLike (->) (Const ()) s s+    , AddressStreetAddressLike (->) (Const ()) s s+    , AddressSuburbLike (->) (Const ()) s s+    , AddressStateOrTerritoryLike (->) (Const ()) s s+    , AddressPostcodeLike (->) (Const ()) s s+    , OperationalHeadquartersAtRegisteredOfficeLike (->) (Const ()) s s+    , OperationalHeadquartersOperationalHeadquartersAddressLike (->) (Const ()) s s+    , CompanyCompanyNameLike (->) (Const ()) s s+    , CompanyAbnLike (->) (Const ()) s s+    , CompanyArnLike (->) (Const ()) s s+    , CompanyRegisteredOfficeLike (->) (Const ()) s s+    , CompanyOperationalHeadquartersLike (->) (Const ()) s s+    , CompanyPhoneNumberLike (->) (Const ()) s s+    , CompanyEmailAddressLike (->) (Const ()) s s+    , CompanyBusinessNameLike (->) (Const ()) s s+    , FlightTerminationNoFlightTerminationSystemLike (->) (Const ()) s s+    , FlightTerminationFlightTerminationSystemLike (->) (Const ()) s s+    , EmergencyActionSituationLike (->) (Const ()) s s+    , EmergencyActionResponseLike (->) (Const ()) s s+    , EmergencyActionActionStepsLike (->) (Const ()) s s+    , RpaTypeRpaMakeLike (->) (Const ()) s s+    , RpaTypeRpaModelLike (->) (Const ()) s s+    , RpaTypeShortNameLike (->) (Const ()) s s+    , RpaTypeCategoryLike (->) (Const ()) s s+    , RpaTypeMaximumGrossWeightLike (->) (Const ()) s s+    , RpaTypeUserManualLike (->) (Const ()) s s+    , RpaTypeTransponderCarriageLike (->) (Const ()) s s+    , RpaTypeFlightTerminationLike (->) (Const ()) s s+    , RpaTypeInspectionItemsLike (->) (Const ()) s s+    , RpaTypeBeforeFlightLike (->) (Const ()) s s+    , RpaTypeBatteryWarningsLike (->) (Const ()) s s+    , RpaTypeEmergencyActionsLike (->) (Const ()) s s+    , EquipmentEquipmentDescriptionLike (->) (Const ()) s s+    , EquipmentSerialNumberLike (->) (Const ()) s s+    , AircraftSerialNumberLike (->) (Const ()) s s+    , AircraftAssociatedEquipmentLike (->) (Const ()) s s+    , OperatedTypeRpaTypeLike (->) (Const ()) s s+    , OperatedTypeAirframesLike (->) (Const ()) s s+    , RePLOriginPplTheoryLike (->) (Const ()) s s+    , RePLOriginRePLTrainingOrganisationLike (->) (Const ()) s s+    , OtherReOCRolesNoOtherReOCRolesLike (->) (Const ()) s s+    , OtherReOCRolesOtherReOCRolesHeldLike (->) (Const ()) s s+    , NomineePersonLike (->) (Const ()) s s+    , NomineeOtherQualificationsLike (->) (Const ()) s s+    , NomineeAviationExperienceLike (->) (Const ()) s s+    , ChiefExecutiveNomineeLike (->) (Const ()) s s+    )+  , ( ChiefExecutiveDirectorStatusLike (->) (Const ()) s s+    , ChiefExecutiveManagementExperienceLike (->) (Const ()) s s+    , CrpNomineeCrpIsCEOLike (->) (Const ()) s s+    , CrpNomineeCrpNominatedLike (->) (Const ()) s s+    , ChiefPilotCrpNomineeLike (->) (Const ()) s s+    , ChiefPilotRePLOriginLike (->) (Const ()) s s+    , ChiefPilotRpaHistoryLike (->) (Const ()) s s+    , ChiefPilotOtherReOCRolesLike (->) (Const ()) s s+    , ChiefPilotRadioLike (->) (Const ()) s s+    , McNomineeMcIsCEOLike (->) (Const ()) s s+    , McNomineeMcIsCRPLike (->) (Const ()) s s+    , McNomineeMcNominatedLike (->) (Const ()) s s+    , KeyPersonnelChiefExecutiveLike (->) (Const ()) s s+    , KeyPersonnelChiefPilotLike (->) (Const ()) s s+    , KeyPersonnelMcNomineeLike (->) (Const ()) s s+    , OperatorCompanyLike (->) (Const ()) s s+    , OperatorKeyPersonnelLike (->) (Const ()) s s+    , OperatorFleetLike (->) (Const ()) s s+    , ContactPersonFullNameLike (->) (Const ()) s s+    , ContactPersonPositionLike (->) (Const ()) s s+    , ContactPersonPhoneNumberLike (->) (Const ()) s s+    , ContactPersonEmailAddressLike (->) (Const ()) s s+    , PrimaryContactApplicantIsPrimaryContactLike (->) (Const ()) s s+    , PrimaryContactPrimaryContactPersonLike (->) (Const ()) s s+    , HistoryAnswerNoHistoryLike (->) (Const ()) s s+    , HistoryAnswerHistoryDisclosedLike (->) (Const ()) s s+    , PersonnelHistoryActionTakenLike (->) (Const ()) s s+    , PersonnelHistoryTransportLicenceRefusedLike (->) (Const ()) s s+    , PersonnelHistoryCriminalConvictionLike (->) (Const ()) s s+    , PersonnelHistorySuspensionPendingLike (->) (Const ()) s s+    , RegulatoryActionReocSuspendedOrCancelledLike (->) (Const ()) s s+    , RegulatoryActionTypeOfActionLike (->) (Const ()) s s+    , RegulatoryActionAuthorisationActionLike (->) (Const ()) s s+    , RegulatoryActionActionDateLike (->) (Const ()) s s+    , RegulatoryActionActionDetailsLike (->) (Const ()) s s+    , RegulatoryHistoryNoRegulatoryActionLike (->) (Const ()) s s+    , RegulatoryHistoryRegulatoryActionTakenLike (->) (Const ()) s s+    , DeclarantFullNameLike (->) (Const ()) s s+    , DeclarantRoleLike (->) (Const ()) s s+    , DeclarationDeclaredByCEOLike (->) (Const ()) s s+    , DeclarationDeclaredByResponsibleManagerLike (->) (Const ()) s s+    , DeclarationDeclaredByAgentLike (->) (Const ()) s s+    , DeclarationDeclaredByOtherLike (->) (Const ()) s s+    , WrittenSignatureWrittenSignatureImageLike (->) (Const ()) s s+    , WrittenSignatureWrittenSignatureFileLike (->) (Const ()) s s+    , ApplicationFormPrimaryContactLike (->) (Const ()) s s+    , ApplicationFormPersonnelHistoryLike (->) (Const ()) s s+    , ApplicationFormRegulatoryHistoryLike (->) (Const ()) s s+    , ApplicationFormProceduresLibraryLike (->) (Const ()) s s+    , ApplicationFormOtherDocumentsLike (->) (Const ()) s s+    )+  , ( ApplicationFormDeclarationLike (->) (Const ()) s s+    , ApplicationFormSignatureLike (->) (Const ()) s s+    , VersionMajorVersionLike (->) (Const ()) s s+    , VersionMinorVersionLike (->) (Const ()) s s+    , FirstIssueVersionLike (->) (Const ()) s s+    , FirstIssueIssueDateLike (->) (Const ()) s s+    , FirstIssueEffectiveLike (->) (Const ()) s s+    , FirstIssuePartsLike (->) (Const ()) s s+    , FirstIssueDetailsLike (->) (Const ()) s s+    , RevisionVersionIncrementLike (->) (Const ()) s s+    , RevisionMonthsAfterLike (->) (Const ()) s s+    , RevisionEffectiveLike (->) (Const ()) s s+    , RevisionPartsLike (->) (Const ()) s s+    , RevisionDetailsLike (->) (Const ()) s s+    , PoliciesRecencyFlightsLike (->) (Const ()) s s+    , PoliciesRecencyDaysLike (->) (Const ()) s s+    , PoliciesRefresherMonthsLike (->) (Const ()) s s+    , PoliciesAlcoholHoursLike (->) (Const ()) s s+    , PoliciesRestHoursLike (->) (Const ()) s s+    , PoliciesDutyHoursLike (->) (Const ()) s s+    , PoliciesInspectionMonthsLike (->) (Const ()) s s+    , PoliciesInspectionHoursLike (->) (Const ()) s s+    , PoliciesBatteryReserveLike (->) (Const ()) s s+    , PoliciesBackupFrequencyLike (->) (Const ()) s s+    , PoliciesIndependentReviewYearsLike (->) (Const ()) s s+    , PoliciesCheckingMonthsLike (->) (Const ()) s s+    , RiskAssessmentRiskLikelihoodLike (->) (Const ()) s s+    , RiskAssessmentRiskConsequenceLike (->) (Const ()) s s+    , RiskHazardLike (->) (Const ()) s s+    , RiskRiskDescriptionLike (->) (Const ()) s s+    , RiskExistingControlsLike (->) (Const ()) s s+    , RiskInitialRiskLike (->) (Const ()) s s+    , RiskAdditionalControlsLike (->) (Const ()) s s+    , RiskResidualRiskLike (->) (Const ()) s s+    , RiskRiskOwnerLike (->) (Const ()) s s+    , RiskDateEnteredLike (->) (Const ()) s s+    , RiskReviewMonthsLike (->) (Const ()) s s+    , OperationsManualFirstIssueLike (->) (Const ()) s s+    , OperationsManualRevisionsLike (->) (Const ()) s s+    , OperationsManualServicesLike (->) (Const ()) s s+    , OperationsManualPoliciesLike (->) (Const ()) s s+    , OperationsManualRiskRegisterLike (->) (Const ()) s s+    , OperationsManualCrewLike (->) (Const ()) s s+    , OperationsManualPilotsLike (->) (Const ()) s s+    , CriNomineeCriIsCEOLike (->) (Const ()) s s+    , CriNomineeCriIsCRPLike (->) (Const ()) s s+    , CriNomineeCriIsMCLike (->) (Const ()) s s+    , CriNomineeCriNominatedLike (->) (Const ()) s s+    , RePLHoldingHoldsRePLForEachTypeLike (->) (Const ()) s s+    , RePLHoldingRePLHoldingIntentLike (->) (Const ()) s s+    )+  , ( TeachingQualificationTeachingQualificationHeldLike (->) (Const ()) s s+    , TeachingQualificationTeachingQualificationIntentLike (->) (Const ()) s s+    , OperationalExperienceHasOperationalExperienceLike (->) (Const ()) s s+    , OperationalExperienceOperationalExperienceIntentLike (->) (Const ()) s s+    , OperationalExperienceOperationalExperienceNotApplicableLike (->) (Const ()) s s+    , TrainingCourseCourseKindLike (->) (Const ()) s s+    , TrainingCourseTrainingRPALike (->) (Const ()) s s+    , TrainingCourseComplexitiesLike (->) (Const ()) s s+    , TrainingArrangementsTheoryVenuesLike (->) (Const ()) s s+    , TrainingArrangementsPracticalAreasLike (->) (Const ()) s s+    , TrainingArrangementsMaxStudentsPerCourseLike (->) (Const ()) s s+    , TrainingArrangementsMaxStudentsPerInstructorLike (->) (Const ()) s s+    , TrainingArrangementsTakeoverLike (->) (Const ()) s s+    , TrainingArrangementsTheoryLike (->) (Const ()) s s+    , TrainingArrangementsExamLike (->) (Const ()) s s+    , TrainingArrangementsExamPassMarkLike (->) (Const ()) s s+    , TrainingArrangementsExaminerLike (->) (Const ()) s s+    , TrainingArrangementsSimulatorLike (->) (Const ()) s s+    , TrainingMaterialCriNomineeLike (->) (Const ()) s s+    , TrainingMaterialRePLHoldingLike (->) (Const ()) s s+    , TrainingMaterialTeachingQualificationLike (->) (Const ()) s s+    , TrainingMaterialOperationalExperienceLike (->) (Const ()) s s+    , TrainingMaterialCriOtherReOCRolesLike (->) (Const ()) s s+    , TrainingMaterialTrainingCoursesLike (->) (Const ()) s s+    , TrainingMaterialTrainingArrangementsLike (->) (Const ()) s s+    , ReOCOperatorLike (->) (Const ()) s s+    , ReOCApplicationFormLike (->) (Const ()) s s+    , ReOCOperationsManualLike (->) (Const ()) s s+    , ReOCMaybeTrainingMaterialLike (->) (Const ()) s s+    )+  )++-- | Checks that a data type inherits every class of @InheritField@.+inheritField :: (InheritField s) => proxy s -> ()+inheritField _ = ()
+ src/ReOC/Data/FirstIssue.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritFirstIssue') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @FirstIssue'@: the first entry in the amendment record of the operations manual: its version and date, and the effective date, parts and details.+module ReOC.Data.FirstIssue (+  FirstIssue' (..),+  FirstIssue'Like (..),+  lawNamesFirstIssue',+  FirstIssue,+  UnfilledFirstIssue,+  mkUnfilledFirstIssue,+  InheritFirstIssue',+  inheritFirstIssue',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import Data.Time.Calendar.Month (Month)+import ReOC.Data.Version (UnfilledVersion, Version, mkUnfilledVersion)+import ReOC.Name.Details (DetailsLike (..))+import ReOC.Name.Effective (EffectiveLike (..))+import ReOC.Name.IssueDate (IssueDateLike (..))+import ReOC.Name.Parts (PartsLike (..))+import ReOC.Name.Version (VersionLike (..))+import ReOC.Primitive.Text1 (Text1)++-- | The first entry in the amendment record of the operations manual: its version and date, and the effective date, parts and details. Its valid form is @FirstIssue@, and its unfilled form @UnfilledFirstIssue@.+data FirstIssue' a1 a2 a3 a4 a5 = FirstIssue' a1 a2 a3 a4 a5+  deriving (Eq, Ord, Show)++-- | The name of the data type @FirstIssue'@.+class FirstIssue'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' | x -> a1 a2 a3 a4 a5 where+  firstIssue' ::+    Optic p f x x' (FirstIssue' a1 a2 a3 a4 a5) (FirstIssue' a1' a2' a3' a4' a5')++-- | Identity+instance (x' ~ FirstIssue' a1' a2' a3' a4' a5') => FirstIssue'Like p f (FirstIssue' a1 a2 a3 a4 a5) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' where+  firstIssue' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ FirstIssue' a1' a2 a3 a4 a5) => VersionLike p f (FirstIssue' a1 a2 a3 a4 a5) x' a1 a1' where+  version f (FirstIssue' x1 x2 x3 x4 x5) = fmap (\x1' -> FirstIssue' x1' x2 x3 x4 x5) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ FirstIssue' a1 a2' a3 a4 a5) => IssueDateLike p f (FirstIssue' a1 a2 a3 a4 a5) x' a2 a2' where+  issueDate f (FirstIssue' x1 x2 x3 x4 x5) = fmap (\x2' -> FirstIssue' x1 x2' x3 x4 x5) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ FirstIssue' a1 a2 a3' a4 a5) => EffectiveLike p f (FirstIssue' a1 a2 a3 a4 a5) x' a3 a3' where+  effective f (FirstIssue' x1 x2 x3 x4 x5) = fmap (\x3' -> FirstIssue' x1 x2 x3' x4 x5) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ FirstIssue' a1 a2 a3 a4' a5) => PartsLike p f (FirstIssue' a1 a2 a3 a4 a5) x' a4 a4' where+  parts f (FirstIssue' x1 x2 x3 x4 x5) = fmap (\x4' -> FirstIssue' x1 x2 x3 x4' x5) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ FirstIssue' a1 a2 a3 a4 a5') => DetailsLike p f (FirstIssue' a1 a2 a3 a4 a5) x' a5 a5' where+  details f (FirstIssue' x1 x2 x3 x4 x5) = fmap (FirstIssue' x1 x2 x3 x4) (f x5)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesFirstIssue' == id+-}+lawNamesFirstIssue' :: FirstIssue' a1 a2 a3 a4 a5 -> FirstIssue' a1 a2 a3 a4 a5+lawNamesFirstIssue' s =+  FirstIssue'+    (view (cloneLens version) s)+    (view (cloneLens issueDate) s)+    (view (cloneLens effective) s)+    (view (cloneLens parts) s)+    (view (cloneLens details) s)++-- | A valid @FirstIssue'@.+type FirstIssue = FirstIssue' Version Month Text1 Text1 Text1++-- | An unfilled @FirstIssue'@: each field holds what has been entered, if anything, to be checked by @fillFirstIssue@.+type UnfilledFirstIssue = FirstIssue' UnfilledVersion (Maybe Month) (Maybe Text) (Maybe Text) (Maybe Text)++-- | An unfilled @FirstIssue'@ with nothing entered.+mkUnfilledFirstIssue :: UnfilledFirstIssue+mkUnfilledFirstIssue =+  FirstIssue'+    mkUnfilledVersion+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @FirstIssue'@ in one field, or in one or more constructors, inherits.+type InheritFirstIssue' s a1 a2 a3 a4 a5 =+  ( FirstIssue'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5+  , VersionLike (->) (Const ()) s s a1 a1+  , IssueDateLike (->) (Const ()) s s a2 a2+  , EffectiveLike (->) (Const ()) s s a3 a3+  , PartsLike (->) (Const ()) s s a4 a4+  , DetailsLike (->) (Const ()) s s a5 a5+  )++-- | Checks that a data type inherits every class of @InheritFirstIssue'@.+inheritFirstIssue' :: (InheritFirstIssue' s a1 a2 a3 a4 a5) => proxy s -> ()+inheritFirstIssue' _ = ()
+ src/ReOC/Data/FlightTermination.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritFlightTermination') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @FlightTermination'@: whether a type of RPA is fitted with a dedicated flight termination system, and its description.+module ReOC.Data.FlightTermination (+  FlightTermination' (..),+  FlightTermination'Like (..),+  lawNamesFlightTermination',+  FlightTermination,+  UnfilledFlightTermination,+  InheritFlightTermination',+  inheritFlightTermination',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.FlightTerminationSystem (FlightTerminationSystemLike (..))+import ReOC.Name.NoFlightTerminationSystem (NoFlightTerminationSystemLike (..))+import ReOC.Primitive.Text1 (Text1)++-- | Whether a type of RPA is fitted with a dedicated flight termination system, and its description. Its valid form is @FlightTermination@, and its unfilled form @UnfilledFlightTermination@.+data FlightTermination' a1+  = NoFlightTerminationSystem+  | FlightTerminationSystem a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @FlightTermination'@.+class FlightTermination'Like p f x x' a1 a1' | x -> a1 where+  flightTermination' ::+    Optic p f x x' (FlightTermination' a1) (FlightTermination' a1')++-- | Identity+instance (x' ~ FlightTermination' a1') => FlightTermination'Like p f (FlightTermination' a1) x' a1 a1' where+  flightTermination' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ FlightTermination' a1) => NoFlightTerminationSystemLike p f (FlightTermination' a1) x' where+  noFlightTerminationSystem = prism' (\() -> NoFlightTerminationSystem) (\case NoFlightTerminationSystem -> Just (); FlightTerminationSystem _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ FlightTermination' a1') => FlightTerminationSystemLike p f (FlightTermination' a1) x' a1 a1' where+  flightTerminationSystem = prism FlightTerminationSystem (\case NoFlightTerminationSystem -> Left NoFlightTerminationSystem; FlightTerminationSystem x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesFlightTermination' == id+-}+lawNamesFlightTermination' :: FlightTermination' a1 -> FlightTermination' a1+lawNamesFlightTermination' = \case+  NoFlightTerminationSystem -> review noFlightTerminationSystem ()+  FlightTerminationSystem x -> review flightTerminationSystem x++-- | A valid @FlightTermination'@.+type FlightTermination = FlightTermination' Text1++-- | An unfilled @FlightTermination'@: each field holds what has been entered, if anything, to be checked by @fillFlightTermination@.+type UnfilledFlightTermination = FlightTermination' (Maybe Text)++-- | The classes that a data type holding @FlightTermination'@ in one field, or in one or more constructors, inherits.+type InheritFlightTermination' s a1 =+  ( FlightTermination'Like (->) (Const ()) s s a1 a1+  , NoFlightTerminationSystemLike (->) (Const ()) s s+  , FlightTerminationSystemLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritFlightTermination'@.+inheritFlightTermination' :: (InheritFlightTermination' s a1) => proxy s -> ()+inheritFlightTermination' _ = ()
+ src/ReOC/Data/FlightTestExaminer.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritFlightTestExaminer) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @FlightTestExaminer@: who conducts flight tests.+module ReOC.Data.FlightTestExaminer (+  FlightTestExaminer (..),+  FlightTestExaminerLike (..),+  lawNamesFlightTestExaminer,+  InheritFlightTestExaminer,+  inheritFlightTestExaminer,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.CriConductsFlightTests (CriConductsFlightTestsLike (..))+import ReOC.Name.IndependentExaminerWhereAvailable (IndependentExaminerWhereAvailableLike (..))++-- | Who conducts flight tests.+data FlightTestExaminer+  = CRIConductsFlightTests+  | IndependentExaminerWhereAvailable+  deriving (Eq, Ord, Show)++-- | The name of the data type @FlightTestExaminer@.+class FlightTestExaminerLike p f x x' where+  flightTestExaminer ::+    Optic p f x x' FlightTestExaminer FlightTestExaminer++-- | Identity+instance (x' ~ FlightTestExaminer) => FlightTestExaminerLike p f FlightTestExaminer x' where+  flightTestExaminer = id++-- | Prism+instance (Choice p, Applicative f, x' ~ FlightTestExaminer) => CriConductsFlightTestsLike p f FlightTestExaminer x' where+  criConductsFlightTests = prism' (\() -> CRIConductsFlightTests) (\case CRIConductsFlightTests -> Just (); IndependentExaminerWhereAvailable -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ FlightTestExaminer) => IndependentExaminerWhereAvailableLike p f FlightTestExaminer x' where+  independentExaminerWhereAvailable = prism' (\() -> IndependentExaminerWhereAvailable) (\case CRIConductsFlightTests -> Nothing; IndependentExaminerWhereAvailable -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesFlightTestExaminer == id+-}+lawNamesFlightTestExaminer :: FlightTestExaminer -> FlightTestExaminer+lawNamesFlightTestExaminer = \case+  CRIConductsFlightTests -> review criConductsFlightTests ()+  IndependentExaminerWhereAvailable -> review independentExaminerWhereAvailable ()++-- | The classes that a data type holding @FlightTestExaminer@ in one field, or in one or more constructors, inherits.+type InheritFlightTestExaminer s =+  ( FlightTestExaminerLike (->) (Const ()) s s+  , CriConductsFlightTestsLike (->) (Const ()) s s+  , IndependentExaminerWhereAvailableLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritFlightTestExaminer@.+inheritFlightTestExaminer :: (InheritFlightTestExaminer s) => proxy s -> ()+inheritFlightTestExaminer _ = ()
+ src/ReOC/Data/HistoryAnswer.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritHistoryAnswer') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @HistoryAnswer'@: an answer about the history of the applicant and nominated personnel, with the details where the answer is yes (CASA Form 101-02, questions 19 to 23). The details of all four answers share the box of question 23.+module ReOC.Data.HistoryAnswer (+  HistoryAnswer' (..),+  HistoryAnswer'Like (..),+  lawNamesHistoryAnswer',+  HistoryAnswer,+  UnfilledHistoryAnswer,+  InheritHistoryAnswer',+  inheritHistoryAnswer',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.HistoryDisclosed (HistoryDisclosedLike (..))+import ReOC.Name.NoHistory (NoHistoryLike (..))+import ReOC.Primitive.FormText (FormFont (..), FormText)++-- | An answer about the history of the applicant and nominated personnel, with the details where the answer is yes (CASA Form 101-02, questions 19 to 23). The details of all four answers share the box of question 23. Its valid form is @HistoryAnswer@, and its unfilled form @UnfilledHistoryAnswer@.+data HistoryAnswer' a1+  = NoHistory+  | HistoryDisclosed a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @HistoryAnswer'@.+class HistoryAnswer'Like p f x x' a1 a1' | x -> a1 where+  historyAnswer' ::+    Optic p f x x' (HistoryAnswer' a1) (HistoryAnswer' a1')++-- | Identity+instance (x' ~ HistoryAnswer' a1') => HistoryAnswer'Like p f (HistoryAnswer' a1) x' a1 a1' where+  historyAnswer' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ HistoryAnswer' a1) => NoHistoryLike p f (HistoryAnswer' a1) x' where+  noHistory = prism' (\() -> NoHistory) (\case NoHistory -> Just (); HistoryDisclosed _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ HistoryAnswer' a1') => HistoryDisclosedLike p f (HistoryAnswer' a1) x' a1 a1' where+  historyDisclosed = prism HistoryDisclosed (\case NoHistory -> Left NoHistory; HistoryDisclosed x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesHistoryAnswer' == id+-}+lawNamesHistoryAnswer' :: HistoryAnswer' a1 -> HistoryAnswer' a1+lawNamesHistoryAnswer' = \case+  NoHistory -> review noHistory ()+  HistoryDisclosed x -> review historyDisclosed x++-- | A valid @HistoryAnswer'@.+type HistoryAnswer = HistoryAnswer' (FormText 'Narrow 190 3)++-- | An unfilled @HistoryAnswer'@: each field holds what has been entered, if anything, to be checked by @fillHistoryAnswer@.+type UnfilledHistoryAnswer = HistoryAnswer' (Maybe Text)++-- | The classes that a data type holding @HistoryAnswer'@ in one field, or in one or more constructors, inherits.+type InheritHistoryAnswer' s a1 =+  ( HistoryAnswer'Like (->) (Const ()) s s a1 a1+  , NoHistoryLike (->) (Const ()) s s+  , HistoryDisclosedLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritHistoryAnswer'@.+inheritHistoryAnswer' :: (InheritHistoryAnswer' s a1) => proxy s -> ()+inheritHistoryAnswer' _ = ()
+ src/ReOC/Data/InstructorTakeover.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritInstructorTakeover) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @InstructorTakeover@: how an instructor takes immediate control of a training RPA.+module ReOC.Data.InstructorTakeover (+  InstructorTakeover (..),+  InstructorTakeoverLike (..),+  lawNamesInstructorTakeover,+  InheritInstructorTakeover,+  inheritInstructorTakeover,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.DualControllerLink (DualControllerLinkLike (..))+import ReOC.Name.SharedController (SharedControllerLike (..))++-- | How an instructor takes immediate control of a training RPA.+data InstructorTakeover+  = DualControllerLink+  | SharedController+  deriving (Eq, Ord, Show)++-- | The name of the data type @InstructorTakeover@.+class InstructorTakeoverLike p f x x' where+  instructorTakeover ::+    Optic p f x x' InstructorTakeover InstructorTakeover++-- | Identity+instance (x' ~ InstructorTakeover) => InstructorTakeoverLike p f InstructorTakeover x' where+  instructorTakeover = id++-- | Prism+instance (Choice p, Applicative f, x' ~ InstructorTakeover) => DualControllerLinkLike p f InstructorTakeover x' where+  dualControllerLink = prism' (\() -> DualControllerLink) (\case DualControllerLink -> Just (); SharedController -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InstructorTakeover) => SharedControllerLike p f InstructorTakeover x' where+  sharedController = prism' (\() -> SharedController) (\case DualControllerLink -> Nothing; SharedController -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesInstructorTakeover == id+-}+lawNamesInstructorTakeover :: InstructorTakeover -> InstructorTakeover+lawNamesInstructorTakeover = \case+  DualControllerLink -> review dualControllerLink ()+  SharedController -> review sharedController ()++-- | The classes that a data type holding @InstructorTakeover@ in one field, or in one or more constructors, inherits.+type InheritInstructorTakeover s =+  ( InstructorTakeoverLike (->) (Const ()) s s+  , DualControllerLinkLike (->) (Const ()) s s+  , SharedControllerLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritInstructorTakeover@.+inheritInstructorTakeover :: (InheritInstructorTakeover s) => proxy s -> ()+inheritInstructorTakeover _ = ()
+ src/ReOC/Data/Invalid.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritInvalid) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Invalid@: a field filled in with a value it does not accept, at its path.+module ReOC.Data.Invalid (+  Invalid (..),+  InvalidLike (..),+  lawNamesInvalid,+  InheritInvalid,+  inheritInvalid,+  inheritsInvalid,+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Proxy (Proxy (..))+import ReOC.Data.InvalidValue (InvalidValue, InvalidValueLike (..), inheritInvalidValue)+import ReOC.Data.Step (Step)+import ReOC.Name.InvalidABN (InvalidABNLike (..))+import ReOC.Name.InvalidARN (InvalidARNLike (..))+import ReOC.Name.InvalidEmailAddress (InvalidEmailAddressLike (..))+import ReOC.Name.InvalidFormText (InvalidFormTextLike (..))+import ReOC.Name.InvalidGrossWeight (InvalidGrossWeightLike (..))+import ReOC.Name.InvalidPassMark (InvalidPassMarkLike (..))+import ReOC.Name.InvalidPercentage (InvalidPercentageLike (..))+import ReOC.Name.InvalidPhoneNumber (InvalidPhoneNumberLike (..))+import ReOC.Name.InvalidPositive (InvalidPositiveLike (..))+import ReOC.Name.InvalidPostcode (InvalidPostcodeLike (..))+import ReOC.Name.InvalidReviewMonths (InvalidReviewMonthsLike (..))+import ReOC.Name.InvalidText1 (InvalidText1Like (..))+import ReOC.Name.Path (PathLike (..))++-- | A field filled in with a value it does not accept, at its path.+data Invalid = Invalid [Step] InvalidValue+  deriving (Eq, Ord, Show)++-- | The name of the data type @Invalid@.+class InvalidLike p f x x' where+  invalid ::+    Optic p f x x' Invalid Invalid++-- | Identity+instance (x' ~ Invalid) => InvalidLike p f Invalid x' where+  invalid = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Invalid) => PathLike p f Invalid x' where+  path f (Invalid x1 x2) = fmap (\x1' -> Invalid x1' x2) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Invalid) => InvalidValueLike p f Invalid x' where+  invalidValue f (Invalid x1 x2) = fmap (Invalid x1) (f x2)++-- | Affine traversal: through @invalidValue@, then @invalidText1@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidText1Like p f Invalid x' where+  invalidText1 = invalidValue . invalidText1++-- | Affine traversal: through @invalidValue@, then @invalidFormText@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidFormTextLike p f Invalid x' where+  invalidFormText = invalidValue . invalidFormText++-- | Affine traversal: through @invalidValue@, then @invalidABN@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidABNLike p f Invalid x' where+  invalidABN = invalidValue . invalidABN++-- | Affine traversal: through @invalidValue@, then @invalidARN@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidARNLike p f Invalid x' where+  invalidARN = invalidValue . invalidARN++-- | Affine traversal: through @invalidValue@, then @invalidEmailAddress@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidEmailAddressLike p f Invalid x' where+  invalidEmailAddress = invalidValue . invalidEmailAddress++-- | Affine traversal: through @invalidValue@, then @invalidPhoneNumber@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidPhoneNumberLike p f Invalid x' where+  invalidPhoneNumber = invalidValue . invalidPhoneNumber++-- | Affine traversal: through @invalidValue@, then @invalidPostcode@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidPostcodeLike p f Invalid x' where+  invalidPostcode = invalidValue . invalidPostcode++-- | Affine traversal: through @invalidValue@, then @invalidPositive@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidPositiveLike p f Invalid x' where+  invalidPositive = invalidValue . invalidPositive++-- | Affine traversal: through @invalidValue@, then @invalidPercentage@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidPercentageLike p f Invalid x' where+  invalidPercentage = invalidValue . invalidPercentage++-- | Affine traversal: through @invalidValue@, then @invalidGrossWeight@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidGrossWeightLike p f Invalid x' where+  invalidGrossWeight = invalidValue . invalidGrossWeight++-- | Affine traversal: through @invalidValue@, then @invalidReviewMonths@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidReviewMonthsLike p f Invalid x' where+  invalidReviewMonths = invalidValue . invalidReviewMonths++-- | Affine traversal: through @invalidValue@, then @invalidPassMark@ of @InvalidValue@.+instance (p ~ (->), Applicative f, x' ~ Invalid) => InvalidPassMarkLike p f Invalid x' where+  invalidPassMark = invalidValue . invalidPassMark++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesInvalid == id+-}+lawNamesInvalid :: Invalid -> Invalid+lawNamesInvalid s =+  Invalid+    (view (cloneLens path) s)+    (view (cloneLens invalidValue) s)++-- | The classes that a data type holding @Invalid@ in one field, or in one or more constructors, inherits.+type InheritInvalid s =+  ( InvalidLike (->) (Const ()) s s+  , PathLike (->) (Const ()) s s+  , InvalidValueLike (->) (Const ()) s s+  , InvalidText1Like (->) (Const ()) s s+  , InvalidFormTextLike (->) (Const ()) s s+  , InvalidABNLike (->) (Const ()) s s+  , InvalidARNLike (->) (Const ()) s s+  , InvalidEmailAddressLike (->) (Const ()) s s+  , InvalidPhoneNumberLike (->) (Const ()) s s+  , InvalidPostcodeLike (->) (Const ()) s s+  , InvalidPositiveLike (->) (Const ()) s s+  , InvalidPercentageLike (->) (Const ()) s s+  , InvalidGrossWeightLike (->) (Const ()) s s+  , InvalidReviewMonthsLike (->) (Const ()) s s+  , InvalidPassMarkLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritInvalid@.+inheritInvalid :: (InheritInvalid s) => proxy s -> ()+inheritInvalid _ = ()++-- | The checks of inheritance of @Invalid@.+inheritsInvalid :: [()]+inheritsInvalid =+  [ inheritInvalidValue p+  ]+ where+  p = Proxy :: Proxy Invalid
+ src/ReOC/Data/InvalidValue.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritInvalidValue) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @InvalidValue@: a value entered in an unfilled form that its field does not accept.+module ReOC.Data.InvalidValue (+  InvalidValue (..),+  InvalidValueLike (..),+  lawNamesInvalidValue,+  InheritInvalidValue,+  inheritInvalidValue,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import Data.Text (Text)+import Numeric.Natural (Natural)+import ReOC.Name.InvalidABN (InvalidABNLike (..))+import ReOC.Name.InvalidARN (InvalidARNLike (..))+import ReOC.Name.InvalidEmailAddress (InvalidEmailAddressLike (..))+import ReOC.Name.InvalidFormText (InvalidFormTextLike (..))+import ReOC.Name.InvalidGrossWeight (InvalidGrossWeightLike (..))+import ReOC.Name.InvalidPassMark (InvalidPassMarkLike (..))+import ReOC.Name.InvalidPercentage (InvalidPercentageLike (..))+import ReOC.Name.InvalidPhoneNumber (InvalidPhoneNumberLike (..))+import ReOC.Name.InvalidPositive (InvalidPositiveLike (..))+import ReOC.Name.InvalidPostcode (InvalidPostcodeLike (..))+import ReOC.Name.InvalidReviewMonths (InvalidReviewMonthsLike (..))+import ReOC.Name.InvalidText1 (InvalidText1Like (..))++-- | A value entered in an unfilled form that its field does not accept.+data InvalidValue+  = InvalidText1 Text+  | InvalidFormText Text+  | InvalidABN Text+  | InvalidARN Text+  | InvalidEmailAddress Text+  | InvalidPhoneNumber Text+  | InvalidPostcode Text+  | InvalidPositive Natural+  | InvalidPercentage Natural+  | InvalidGrossWeight Natural+  | InvalidReviewMonths Natural+  | InvalidPassMark Natural+  deriving (Eq, Ord, Show)++-- | The name of the data type @InvalidValue@.+class InvalidValueLike p f x x' where+  invalidValue ::+    Optic p f x x' InvalidValue InvalidValue++-- | Identity+instance (x' ~ InvalidValue) => InvalidValueLike p f InvalidValue x' where+  invalidValue = id++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidText1Like p f InvalidValue x' where+  invalidText1 = prism' InvalidText1 (\case InvalidText1 x -> Just x; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidFormTextLike p f InvalidValue x' where+  invalidFormText = prism' InvalidFormText (\case InvalidText1 _ -> Nothing; InvalidFormText x -> Just x; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidABNLike p f InvalidValue x' where+  invalidABN = prism' InvalidABN (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN x -> Just x; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidARNLike p f InvalidValue x' where+  invalidARN = prism' InvalidARN (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN x -> Just x; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidEmailAddressLike p f InvalidValue x' where+  invalidEmailAddress = prism' InvalidEmailAddress (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress x -> Just x; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidPhoneNumberLike p f InvalidValue x' where+  invalidPhoneNumber = prism' InvalidPhoneNumber (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber x -> Just x; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidPostcodeLike p f InvalidValue x' where+  invalidPostcode = prism' InvalidPostcode (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode x -> Just x; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidPositiveLike p f InvalidValue x' where+  invalidPositive = prism' InvalidPositive (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive x -> Just x; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidPercentageLike p f InvalidValue x' where+  invalidPercentage = prism' InvalidPercentage (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage x -> Just x; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidGrossWeightLike p f InvalidValue x' where+  invalidGrossWeight = prism' InvalidGrossWeight (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight x -> Just x; InvalidReviewMonths _ -> Nothing; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidReviewMonthsLike p f InvalidValue x' where+  invalidReviewMonths = prism' InvalidReviewMonths (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths x -> Just x; InvalidPassMark _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ InvalidValue) => InvalidPassMarkLike p f InvalidValue x' where+  invalidPassMark = prism' InvalidPassMark (\case InvalidText1 _ -> Nothing; InvalidFormText _ -> Nothing; InvalidABN _ -> Nothing; InvalidARN _ -> Nothing; InvalidEmailAddress _ -> Nothing; InvalidPhoneNumber _ -> Nothing; InvalidPostcode _ -> Nothing; InvalidPositive _ -> Nothing; InvalidPercentage _ -> Nothing; InvalidGrossWeight _ -> Nothing; InvalidReviewMonths _ -> Nothing; InvalidPassMark x -> Just x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesInvalidValue == id+-}+lawNamesInvalidValue :: InvalidValue -> InvalidValue+lawNamesInvalidValue = \case+  InvalidText1 x -> review invalidText1 x+  InvalidFormText x -> review invalidFormText x+  InvalidABN x -> review invalidABN x+  InvalidARN x -> review invalidARN x+  InvalidEmailAddress x -> review invalidEmailAddress x+  InvalidPhoneNumber x -> review invalidPhoneNumber x+  InvalidPostcode x -> review invalidPostcode x+  InvalidPositive x -> review invalidPositive x+  InvalidPercentage x -> review invalidPercentage x+  InvalidGrossWeight x -> review invalidGrossWeight x+  InvalidReviewMonths x -> review invalidReviewMonths x+  InvalidPassMark x -> review invalidPassMark x++-- | The classes that a data type holding @InvalidValue@ in one field, or in one or more constructors, inherits.+type InheritInvalidValue s =+  ( InvalidValueLike (->) (Const ()) s s+  , InvalidText1Like (->) (Const ()) s s+  , InvalidFormTextLike (->) (Const ()) s s+  , InvalidABNLike (->) (Const ()) s s+  , InvalidARNLike (->) (Const ()) s s+  , InvalidEmailAddressLike (->) (Const ()) s s+  , InvalidPhoneNumberLike (->) (Const ()) s s+  , InvalidPostcodeLike (->) (Const ()) s s+  , InvalidPositiveLike (->) (Const ()) s s+  , InvalidPercentageLike (->) (Const ()) s s+  , InvalidGrossWeightLike (->) (Const ()) s s+  , InvalidReviewMonthsLike (->) (Const ()) s s+  , InvalidPassMarkLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritInvalidValue@.+inheritInvalidValue :: (InheritInvalidValue s) => proxy s -> ()+inheritInvalidValue _ = ()
+ src/ReOC/Data/KeyPersonnel.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritKeyPersonnel') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @KeyPersonnel'@: the key personnel of the operator: CEO, chief remote pilot and maintenance controller. A position held by the holder of another position refers to it, so that one person is given once.+module ReOC.Data.KeyPersonnel (+  KeyPersonnel' (..),+  KeyPersonnel'Like (..),+  lawNamesKeyPersonnel',+  KeyPersonnel,+  UnfilledKeyPersonnel,+  mkUnfilledKeyPersonnel,+  InheritKeyPersonnel',+  inheritKeyPersonnel',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import ReOC.Data.ChiefExecutive (ChiefExecutive, UnfilledChiefExecutive, mkUnfilledChiefExecutive)+import ReOC.Data.ChiefPilot (ChiefPilot, UnfilledChiefPilot, mkUnfilledChiefPilot)+import ReOC.Data.MCNominee (MCNominee, UnfilledMCNominee)+import ReOC.Name.ChiefExecutive (ChiefExecutiveLike (..))+import ReOC.Name.ChiefPilot (ChiefPilotLike (..))+import ReOC.Name.McNominee (McNomineeLike (..))++-- | The key personnel of the operator: CEO, chief remote pilot and maintenance controller. A position held by the holder of another position refers to it, so that one person is given once. Its valid form is @KeyPersonnel@, and its unfilled form @UnfilledKeyPersonnel@.+data KeyPersonnel' a1 a2 a3 = KeyPersonnel' a1 a2 a3+  deriving (Eq, Ord, Show)++-- | The name of the data type @KeyPersonnel'@.+class KeyPersonnel'Like p f x x' a1 a1' a2 a2' a3 a3' | x -> a1 a2 a3 where+  keyPersonnel' ::+    Optic p f x x' (KeyPersonnel' a1 a2 a3) (KeyPersonnel' a1' a2' a3')++-- | Identity+instance (x' ~ KeyPersonnel' a1' a2' a3') => KeyPersonnel'Like p f (KeyPersonnel' a1 a2 a3) x' a1 a1' a2 a2' a3 a3' where+  keyPersonnel' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ KeyPersonnel' a1' a2 a3) => ChiefExecutiveLike p f (KeyPersonnel' a1 a2 a3) x' a1 a1' where+  chiefExecutive f (KeyPersonnel' x1 x2 x3) = fmap (\x1' -> KeyPersonnel' x1' x2 x3) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ KeyPersonnel' a1 a2' a3) => ChiefPilotLike p f (KeyPersonnel' a1 a2 a3) x' a2 a2' where+  chiefPilot f (KeyPersonnel' x1 x2 x3) = fmap (\x2' -> KeyPersonnel' x1 x2' x3) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ KeyPersonnel' a1 a2 a3') => McNomineeLike p f (KeyPersonnel' a1 a2 a3) x' a3 a3' where+  mcNominee f (KeyPersonnel' x1 x2 x3) = fmap (KeyPersonnel' x1 x2) (f x3)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesKeyPersonnel' == id+-}+lawNamesKeyPersonnel' :: KeyPersonnel' a1 a2 a3 -> KeyPersonnel' a1 a2 a3+lawNamesKeyPersonnel' s =+  KeyPersonnel'+    (view (cloneLens chiefExecutive) s)+    (view (cloneLens chiefPilot) s)+    (view (cloneLens mcNominee) s)++-- | A valid @KeyPersonnel'@.+type KeyPersonnel = KeyPersonnel' ChiefExecutive ChiefPilot MCNominee++-- | An unfilled @KeyPersonnel'@: each field holds what has been entered, if anything, to be checked by @fillKeyPersonnel@.+type UnfilledKeyPersonnel = KeyPersonnel' UnfilledChiefExecutive UnfilledChiefPilot (Maybe UnfilledMCNominee)++-- | An unfilled @KeyPersonnel'@ with nothing entered.+mkUnfilledKeyPersonnel :: UnfilledKeyPersonnel+mkUnfilledKeyPersonnel =+  KeyPersonnel'+    mkUnfilledChiefExecutive+    mkUnfilledChiefPilot+    Nothing++-- | The classes that a data type holding @KeyPersonnel'@ in one field, or in one or more constructors, inherits.+type InheritKeyPersonnel' s a1 a2 a3 =+  ( KeyPersonnel'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3+  , ChiefExecutiveLike (->) (Const ()) s s a1 a1+  , ChiefPilotLike (->) (Const ()) s s a2 a2+  , McNomineeLike (->) (Const ()) s s a3 a3+  )++-- | Checks that a data type inherits every class of @InheritKeyPersonnel'@.+inheritKeyPersonnel' :: (InheritKeyPersonnel' s a1 a2 a3) => proxy s -> ()+inheritKeyPersonnel' _ = ()
+ src/ReOC/Data/KeyPosition.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritKeyPosition) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @KeyPosition@: a key position of the operator that can own a risk.+module ReOC.Data.KeyPosition (+  KeyPosition (..),+  KeyPositionLike (..),+  lawNamesKeyPosition,+  InheritKeyPosition,+  inheritKeyPosition,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.ChiefExecutiveOfficer (ChiefExecutiveOfficerLike (..))+import ReOC.Name.ChiefRemotePilot (ChiefRemotePilotLike (..))+import ReOC.Name.MaintenanceController (MaintenanceControllerLike (..))++-- | A key position of the operator that can own a risk.+data KeyPosition+  = ChiefExecutiveOfficer+  | ChiefRemotePilot+  | MaintenanceController+  deriving (Eq, Ord, Show)++-- | The name of the data type @KeyPosition@.+class KeyPositionLike p f x x' where+  keyPosition ::+    Optic p f x x' KeyPosition KeyPosition++-- | Identity+instance (x' ~ KeyPosition) => KeyPositionLike p f KeyPosition x' where+  keyPosition = id++-- | Prism+instance (Choice p, Applicative f, x' ~ KeyPosition) => ChiefExecutiveOfficerLike p f KeyPosition x' where+  chiefExecutiveOfficer = prism' (\() -> ChiefExecutiveOfficer) (\case ChiefExecutiveOfficer -> Just (); ChiefRemotePilot -> Nothing; MaintenanceController -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ KeyPosition) => ChiefRemotePilotLike p f KeyPosition x' where+  chiefRemotePilot = prism' (\() -> ChiefRemotePilot) (\case ChiefExecutiveOfficer -> Nothing; ChiefRemotePilot -> Just (); MaintenanceController -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ KeyPosition) => MaintenanceControllerLike p f KeyPosition x' where+  maintenanceController = prism' (\() -> MaintenanceController) (\case ChiefExecutiveOfficer -> Nothing; ChiefRemotePilot -> Nothing; MaintenanceController -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesKeyPosition == id+-}+lawNamesKeyPosition :: KeyPosition -> KeyPosition+lawNamesKeyPosition = \case+  ChiefExecutiveOfficer -> review chiefExecutiveOfficer ()+  ChiefRemotePilot -> review chiefRemotePilot ()+  MaintenanceController -> review maintenanceController ()++-- | The classes that a data type holding @KeyPosition@ in one field, or in one or more constructors, inherits.+type InheritKeyPosition s =+  ( KeyPositionLike (->) (Const ()) s s+  , ChiefExecutiveOfficerLike (->) (Const ()) s s+  , ChiefRemotePilotLike (->) (Const ()) s s+  , MaintenanceControllerLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritKeyPosition@.+inheritKeyPosition :: (InheritKeyPosition s) => proxy s -> ()+inheritKeyPosition _ = ()
+ src/ReOC/Data/Likelihood.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritLikelihood) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Likelihood@: the likelihood of a risk (operations manual Appendix E, Table 11).+module ReOC.Data.Likelihood (+  Likelihood (..),+  LikelihoodLike (..),+  lawNamesLikelihood,+  InheritLikelihood,+  inheritLikelihood,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.ExtremelyImprobable (ExtremelyImprobableLike (..))+import ReOC.Name.Frequent (FrequentLike (..))+import ReOC.Name.Improbable (ImprobableLike (..))+import ReOC.Name.Occasional (OccasionalLike (..))+import ReOC.Name.Remote (RemoteLike (..))++-- | The likelihood of a risk (operations manual Appendix E, Table 11).+data Likelihood+  = Frequent+  | Occasional+  | Remote+  | Improbable+  | ExtremelyImprobable+  deriving (Eq, Ord, Show)++-- | The name of the data type @Likelihood@.+class LikelihoodLike p f x x' where+  likelihood ::+    Optic p f x x' Likelihood Likelihood++-- | Identity+instance (x' ~ Likelihood) => LikelihoodLike p f Likelihood x' where+  likelihood = id++-- | Prism+instance (Choice p, Applicative f, x' ~ Likelihood) => FrequentLike p f Likelihood x' where+  frequent = prism' (\() -> Frequent) (\case Frequent -> Just (); Occasional -> Nothing; Remote -> Nothing; Improbable -> Nothing; ExtremelyImprobable -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Likelihood) => OccasionalLike p f Likelihood x' where+  occasional = prism' (\() -> Occasional) (\case Frequent -> Nothing; Occasional -> Just (); Remote -> Nothing; Improbable -> Nothing; ExtremelyImprobable -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Likelihood) => RemoteLike p f Likelihood x' where+  remote = prism' (\() -> Remote) (\case Frequent -> Nothing; Occasional -> Nothing; Remote -> Just (); Improbable -> Nothing; ExtremelyImprobable -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Likelihood) => ImprobableLike p f Likelihood x' where+  improbable = prism' (\() -> Improbable) (\case Frequent -> Nothing; Occasional -> Nothing; Remote -> Nothing; Improbable -> Just (); ExtremelyImprobable -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Likelihood) => ExtremelyImprobableLike p f Likelihood x' where+  extremelyImprobable = prism' (\() -> ExtremelyImprobable) (\case Frequent -> Nothing; Occasional -> Nothing; Remote -> Nothing; Improbable -> Nothing; ExtremelyImprobable -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesLikelihood == id+-}+lawNamesLikelihood :: Likelihood -> Likelihood+lawNamesLikelihood = \case+  Frequent -> review frequent ()+  Occasional -> review occasional ()+  Remote -> review remote ()+  Improbable -> review improbable ()+  ExtremelyImprobable -> review extremelyImprobable ()++-- | The classes that a data type holding @Likelihood@ in one field, or in one or more constructors, inherits.+type InheritLikelihood s =+  ( LikelihoodLike (->) (Const ()) s s+  , FrequentLike (->) (Const ()) s s+  , OccasionalLike (->) (Const ()) s s+  , RemoteLike (->) (Const ()) s s+  , ImprobableLike (->) (Const ()) s s+  , ExtremelyImprobableLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritLikelihood@.+inheritLikelihood :: (InheritLikelihood s) => proxy s -> ()+inheritLikelihood _ = ()
+ src/ReOC/Data/MCNominee.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritMCNominee') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @MCNominee'@: who is nominated as maintenance controller (CASA Form 101-02, question 12): the CEO, the chief remote pilot, or another person.+module ReOC.Data.MCNominee (+  MCNominee' (..),+  MCNominee'Like (..),+  lawNamesMCNominee',+  MCNominee,+  UnfilledMCNominee,+  InheritMCNominee',+  inheritMCNominee',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import ReOC.Data.Nominee (Nominee, UnfilledNominee)+import ReOC.Name.McIsCEO (McIsCEOLike (..))+import ReOC.Name.McIsCRP (McIsCRPLike (..))+import ReOC.Name.McNominated (McNominatedLike (..))++-- | Who is nominated as maintenance controller (CASA Form 101-02, question 12): the CEO, the chief remote pilot, or another person. Its valid form is @MCNominee@, and its unfilled form @UnfilledMCNominee@.+data MCNominee' a1+  = MCIsCEO+  | MCIsCRP+  | MCNominated a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @MCNominee'@.+class MCNominee'Like p f x x' a1 a1' | x -> a1 where+  mcNominee' ::+    Optic p f x x' (MCNominee' a1) (MCNominee' a1')++-- | Identity+instance (x' ~ MCNominee' a1') => MCNominee'Like p f (MCNominee' a1) x' a1 a1' where+  mcNominee' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ MCNominee' a1) => McIsCEOLike p f (MCNominee' a1) x' where+  mcIsCEO = prism' (\() -> MCIsCEO) (\case MCIsCEO -> Just (); MCIsCRP -> Nothing; MCNominated _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ MCNominee' a1) => McIsCRPLike p f (MCNominee' a1) x' where+  mcIsCRP = prism' (\() -> MCIsCRP) (\case MCIsCEO -> Nothing; MCIsCRP -> Just (); MCNominated _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ MCNominee' a1') => McNominatedLike p f (MCNominee' a1) x' a1 a1' where+  mcNominated = prism MCNominated (\case MCIsCEO -> Left MCIsCEO; MCIsCRP -> Left MCIsCRP; MCNominated x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesMCNominee' == id+-}+lawNamesMCNominee' :: MCNominee' a1 -> MCNominee' a1+lawNamesMCNominee' = \case+  MCIsCEO -> review mcIsCEO ()+  MCIsCRP -> review mcIsCRP ()+  MCNominated x -> review mcNominated x++-- | A valid @MCNominee'@.+type MCNominee = MCNominee' Nominee++-- | An unfilled @MCNominee'@: each field holds what has been entered, if anything, to be checked by @fillMCNominee@.+type UnfilledMCNominee = MCNominee' UnfilledNominee++-- | The classes that a data type holding @MCNominee'@ in one field, or in one or more constructors, inherits.+type InheritMCNominee' s a1 =+  ( MCNominee'Like (->) (Const ()) s s a1 a1+  , McIsCEOLike (->) (Const ()) s s+  , McIsCRPLike (->) (Const ()) s s+  , McNominatedLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritMCNominee'@.+inheritMCNominee' :: (InheritMCNominee' s a1) => proxy s -> ()+inheritMCNominee' _ = ()
+ src/ReOC/Data/Nominee.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritNominee') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Nominee'@: a person nominated for a key position, with their qualifications and experience (operations manual Section 1.2.1).+module ReOC.Data.Nominee (+  Nominee' (..),+  Nominee'Like (..),+  lawNamesNominee',+  Nominee,+  UnfilledNominee,+  mkNominee,+  mkUnfilledNominee,+  InheritNominee',+  inheritNominee',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Data.Person (Person, UnfilledPerson, mkUnfilledPerson)+import ReOC.Name.AviationExperience (AviationExperienceLike (..))+import ReOC.Name.OtherQualifications (OtherQualificationsLike (..))+import ReOC.Name.Person (PersonLike (..))+import ReOC.Primitive.Text1 (Text1)++-- | A person nominated for a key position, with their qualifications and experience (operations manual Section 1.2.1). Its valid form is @Nominee@, and its unfilled form @UnfilledNominee@.+data Nominee' a1 a2 a3 = Nominee' a1 a2 a3+  deriving (Eq, Ord, Show)++-- | The name of the data type @Nominee'@.+class Nominee'Like p f x x' a1 a1' a2 a2' a3 a3' | x -> a1 a2 a3 where+  nominee' ::+    Optic p f x x' (Nominee' a1 a2 a3) (Nominee' a1' a2' a3')++-- | Identity+instance (x' ~ Nominee' a1' a2' a3') => Nominee'Like p f (Nominee' a1 a2 a3) x' a1 a1' a2 a2' a3 a3' where+  nominee' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Nominee' a1' a2 a3) => PersonLike p f (Nominee' a1 a2 a3) x' a1 a1' where+  person f (Nominee' x1 x2 x3) = fmap (\x1' -> Nominee' x1' x2 x3) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Nominee' a1 a2' a3) => OtherQualificationsLike p f (Nominee' a1 a2 a3) x' a2 a2' where+  otherQualifications f (Nominee' x1 x2 x3) = fmap (\x2' -> Nominee' x1 x2' x3) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Nominee' a1 a2 a3') => AviationExperienceLike p f (Nominee' a1 a2 a3) x' a3 a3' where+  aviationExperience f (Nominee' x1 x2 x3) = fmap (Nominee' x1 x2) (f x3)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesNominee' == id+-}+lawNamesNominee' :: Nominee' a1 a2 a3 -> Nominee' a1 a2 a3+lawNamesNominee' s =+  Nominee'+    (view (cloneLens person) s)+    (view (cloneLens otherQualifications) s)+    (view (cloneLens aviationExperience) s)++-- | A valid @Nominee'@.+type Nominee = Nominee' Person [Text1] Text1++-- | An unfilled @Nominee'@: each field holds what has been entered, if anything, to be checked by @fillNominee@.+type UnfilledNominee = Nominee' UnfilledPerson [Text] (Maybe Text)++-- | Builds a valid @Nominee'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkNominee :: Person -> Text1 -> Nominee+mkNominee x1 = Nominee' x1 []++-- | An unfilled @Nominee'@ with nothing entered.+mkUnfilledNominee :: UnfilledNominee+mkUnfilledNominee =+  Nominee'+    mkUnfilledPerson+    []+    Nothing++-- | The classes that a data type holding @Nominee'@ in one field, or in one or more constructors, inherits.+type InheritNominee' s a1 a2 a3 =+  ( Nominee'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3+  , PersonLike (->) (Const ()) s s a1 a1+  , OtherQualificationsLike (->) (Const ()) s s a2 a2+  , AviationExperienceLike (->) (Const ()) s s a3 a3+  )++-- | Checks that a data type inherits every class of @InheritNominee'@.+inheritNominee' :: (InheritNominee' s a1 a2 a3) => proxy s -> ()+inheritNominee' _ = ()
+ src/ReOC/Data/OperatedType.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritOperatedType') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @OperatedType'@: a type of RPA that the operator operates, and each RPA of that type.+module ReOC.Data.OperatedType (+  OperatedType' (..),+  OperatedType'Like (..),+  lawNamesOperatedType',+  OperatedType,+  UnfilledOperatedType,+  mkUnfilledOperatedType,+  InheritOperatedType',+  inheritOperatedType',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.List.NonEmpty (NonEmpty)+import ReOC.Data.Aircraft (Aircraft, UnfilledAircraft)+import ReOC.Data.RPAType (RPAType, UnfilledRPAType, mkUnfilledRPAType)+import ReOC.Name.Airframes (AirframesLike (..))+import ReOC.Name.RpaType (RpaTypeLike (..))++-- | A type of RPA that the operator operates, and each RPA of that type. Its valid form is @OperatedType@, and its unfilled form @UnfilledOperatedType@.+data OperatedType' a1 a2 = OperatedType' a1 a2+  deriving (Eq, Ord, Show)++-- | The name of the data type @OperatedType'@.+class OperatedType'Like p f x x' a1 a1' a2 a2' | x -> a1 a2 where+  operatedType' ::+    Optic p f x x' (OperatedType' a1 a2) (OperatedType' a1' a2')++-- | Identity+instance (x' ~ OperatedType' a1' a2') => OperatedType'Like p f (OperatedType' a1 a2) x' a1 a1' a2 a2' where+  operatedType' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ OperatedType' a1' a2) => RpaTypeLike p f (OperatedType' a1 a2) x' a1 a1' where+  rpaType f (OperatedType' x1 x2) = fmap (\x1' -> OperatedType' x1' x2) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ OperatedType' a1 a2') => AirframesLike p f (OperatedType' a1 a2) x' a2 a2' where+  airframes f (OperatedType' x1 x2) = fmap (OperatedType' x1) (f x2)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesOperatedType' == id+-}+lawNamesOperatedType' :: OperatedType' a1 a2 -> OperatedType' a1 a2+lawNamesOperatedType' s =+  OperatedType'+    (view (cloneLens rpaType) s)+    (view (cloneLens airframes) s)++-- | A valid @OperatedType'@.+type OperatedType = OperatedType' RPAType (NonEmpty Aircraft)++-- | An unfilled @OperatedType'@: each field holds what has been entered, if anything, to be checked by @fillOperatedType@.+type UnfilledOperatedType = OperatedType' UnfilledRPAType [UnfilledAircraft]++-- | An unfilled @OperatedType'@ with nothing entered.+mkUnfilledOperatedType :: UnfilledOperatedType+mkUnfilledOperatedType =+  OperatedType'+    mkUnfilledRPAType+    []++-- | The classes that a data type holding @OperatedType'@ in one field, or in one or more constructors, inherits.+type InheritOperatedType' s a1 a2 =+  ( OperatedType'Like (->) (Const ()) s s a1 a1 a2 a2+  , RpaTypeLike (->) (Const ()) s s a1 a1+  , AirframesLike (->) (Const ()) s s a2 a2+  )++-- | Checks that a data type inherits every class of @InheritOperatedType'@.+inheritOperatedType' :: (InheritOperatedType' s a1 a2) => proxy s -> ()+inheritOperatedType' _ = ()
+ src/ReOC/Data/OperationalExperience.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritOperationalExperience') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @OperationalExperience'@: whether the chief RePL instructor has 20 hours of non-training operational experience for each category trained (CASA Form 101-02, questions 16 and 17).+module ReOC.Data.OperationalExperience (+  OperationalExperience' (..),+  OperationalExperience'Like (..),+  lawNamesOperationalExperience',+  OperationalExperience,+  UnfilledOperationalExperience,+  InheritOperationalExperience',+  inheritOperationalExperience',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.HasOperationalExperience (HasOperationalExperienceLike (..))+import ReOC.Name.OperationalExperienceIntent (OperationalExperienceIntentLike (..))+import ReOC.Name.OperationalExperienceNotApplicable (OperationalExperienceNotApplicableLike (..))+import ReOC.Primitive.FormText (FormFont (..), FormText)++-- | Whether the chief RePL instructor has 20 hours of non-training operational experience for each category trained (CASA Form 101-02, questions 16 and 17). Its valid form is @OperationalExperience@, and its unfilled form @UnfilledOperationalExperience@.+data OperationalExperience' a1+  = HasOperationalExperience+  | OperationalExperienceIntent a1+  | OperationalExperienceNotApplicable+  deriving (Eq, Ord, Show)++-- | The name of the data type @OperationalExperience'@.+class OperationalExperience'Like p f x x' a1 a1' | x -> a1 where+  operationalExperience' ::+    Optic p f x x' (OperationalExperience' a1) (OperationalExperience' a1')++-- | Identity+instance (x' ~ OperationalExperience' a1') => OperationalExperience'Like p f (OperationalExperience' a1) x' a1 a1' where+  operationalExperience' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ OperationalExperience' a1) => HasOperationalExperienceLike p f (OperationalExperience' a1) x' where+  hasOperationalExperience = prism' (\() -> HasOperationalExperience) (\case HasOperationalExperience -> Just (); OperationalExperienceIntent _ -> Nothing; OperationalExperienceNotApplicable -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ OperationalExperience' a1') => OperationalExperienceIntentLike p f (OperationalExperience' a1) x' a1 a1' where+  operationalExperienceIntent = prism OperationalExperienceIntent (\case HasOperationalExperience -> Left HasOperationalExperience; OperationalExperienceIntent x -> Right x; OperationalExperienceNotApplicable -> Left OperationalExperienceNotApplicable)++-- | Prism+instance (Choice p, Applicative f, x' ~ OperationalExperience' a1) => OperationalExperienceNotApplicableLike p f (OperationalExperience' a1) x' where+  operationalExperienceNotApplicable = prism' (\() -> OperationalExperienceNotApplicable) (\case HasOperationalExperience -> Nothing; OperationalExperienceIntent _ -> Nothing; OperationalExperienceNotApplicable -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesOperationalExperience' == id+-}+lawNamesOperationalExperience' :: OperationalExperience' a1 -> OperationalExperience' a1+lawNamesOperationalExperience' = \case+  HasOperationalExperience -> review hasOperationalExperience ()+  OperationalExperienceIntent x -> review operationalExperienceIntent x+  OperationalExperienceNotApplicable -> review operationalExperienceNotApplicable ()++-- | A valid @OperationalExperience'@.+type OperationalExperience = OperationalExperience' (FormText 'Wide 185 5)++-- | An unfilled @OperationalExperience'@: each field holds what has been entered, if anything, to be checked by @fillOperationalExperience@.+type UnfilledOperationalExperience = OperationalExperience' (Maybe Text)++-- | The classes that a data type holding @OperationalExperience'@ in one field, or in one or more constructors, inherits.+type InheritOperationalExperience' s a1 =+  ( OperationalExperience'Like (->) (Const ()) s s a1 a1+  , HasOperationalExperienceLike (->) (Const ()) s s+  , OperationalExperienceIntentLike (->) (Const ()) s s a1 a1+  , OperationalExperienceNotApplicableLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritOperationalExperience'@.+inheritOperationalExperience' :: (InheritOperationalExperience' s a1) => proxy s -> ()+inheritOperationalExperience' _ = ()
+ src/ReOC/Data/OperationalHeadquarters.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritOperationalHeadquarters') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @OperationalHeadquarters'@: where the operational headquarters of the operator is.+module ReOC.Data.OperationalHeadquarters (+  OperationalHeadquarters' (..),+  OperationalHeadquarters'Like (..),+  lawNamesOperationalHeadquarters',+  OperationalHeadquarters,+  UnfilledOperationalHeadquarters,+  InheritOperationalHeadquarters',+  inheritOperationalHeadquarters',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import ReOC.Data.Address (Address, UnfilledAddress)+import ReOC.Name.AtRegisteredOffice (AtRegisteredOfficeLike (..))+import ReOC.Name.OperationalHeadquartersAddress (OperationalHeadquartersAddressLike (..))++-- | Where the operational headquarters of the operator is. Its valid form is @OperationalHeadquarters@, and its unfilled form @UnfilledOperationalHeadquarters@.+data OperationalHeadquarters' a1+  = AtRegisteredOffice+  | OperationalHeadquartersAddress a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @OperationalHeadquarters'@.+class OperationalHeadquarters'Like p f x x' a1 a1' | x -> a1 where+  operationalHeadquarters' ::+    Optic p f x x' (OperationalHeadquarters' a1) (OperationalHeadquarters' a1')++-- | Identity+instance (x' ~ OperationalHeadquarters' a1') => OperationalHeadquarters'Like p f (OperationalHeadquarters' a1) x' a1 a1' where+  operationalHeadquarters' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ OperationalHeadquarters' a1) => AtRegisteredOfficeLike p f (OperationalHeadquarters' a1) x' where+  atRegisteredOffice = prism' (\() -> AtRegisteredOffice) (\case AtRegisteredOffice -> Just (); OperationalHeadquartersAddress _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ OperationalHeadquarters' a1') => OperationalHeadquartersAddressLike p f (OperationalHeadquarters' a1) x' a1 a1' where+  operationalHeadquartersAddress = prism OperationalHeadquartersAddress (\case AtRegisteredOffice -> Left AtRegisteredOffice; OperationalHeadquartersAddress x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesOperationalHeadquarters' == id+-}+lawNamesOperationalHeadquarters' :: OperationalHeadquarters' a1 -> OperationalHeadquarters' a1+lawNamesOperationalHeadquarters' = \case+  AtRegisteredOffice -> review atRegisteredOffice ()+  OperationalHeadquartersAddress x -> review operationalHeadquartersAddress x++-- | A valid @OperationalHeadquarters'@.+type OperationalHeadquarters = OperationalHeadquarters' Address++-- | An unfilled @OperationalHeadquarters'@: each field holds what has been entered, if anything, to be checked by @fillOperationalHeadquarters@.+type UnfilledOperationalHeadquarters = OperationalHeadquarters' UnfilledAddress++-- | The classes that a data type holding @OperationalHeadquarters'@ in one field, or in one or more constructors, inherits.+type InheritOperationalHeadquarters' s a1 =+  ( OperationalHeadquarters'Like (->) (Const ()) s s a1 a1+  , AtRegisteredOfficeLike (->) (Const ()) s s+  , OperationalHeadquartersAddressLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritOperationalHeadquarters'@.+inheritOperationalHeadquarters' :: (InheritOperationalHeadquarters' s a1) => proxy s -> ()+inheritOperationalHeadquarters' _ = ()
+ src/ReOC/Data/OperationsManual.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritOperationsManual') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @OperationsManual'@: the parts of the operations manual that are not part of the operator. The manual is reviewed 12 months after the date of its last amendment.+module ReOC.Data.OperationsManual (+  OperationsManual' (..),+  OperationsManual'Like (..),+  lawNamesOperationsManual',+  OperationsManual,+  UnfilledOperationsManual,+  mkOperationsManual,+  mkUnfilledOperationsManual,+  InheritOperationsManual',+  inheritOperationsManual',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.List.NonEmpty (NonEmpty)+import Data.Text (Text)+import ReOC.Data.Crewing (Crewing)+import ReOC.Data.FirstIssue (FirstIssue, UnfilledFirstIssue, mkUnfilledFirstIssue)+import ReOC.Data.Policies (Policies, UnfilledPolicies, mkUnfilledPolicies)+import ReOC.Data.RemotePilots (RemotePilots)+import ReOC.Data.Revision (Revision, UnfilledRevision)+import ReOC.Data.Risk (Risk, UnfilledRisk)+import ReOC.Name.Crew (CrewLike (..))+import ReOC.Name.FirstIssue (FirstIssueLike (..))+import ReOC.Name.Pilots (PilotsLike (..))+import ReOC.Name.Policies (PoliciesLike (..))+import ReOC.Name.Revisions (RevisionsLike (..))+import ReOC.Name.RiskRegister (RiskRegisterLike (..))+import ReOC.Name.Services (ServicesLike (..))+import ReOC.Primitive.Text1 (Text1)++-- | The parts of the operations manual that are not part of the operator. The manual is reviewed 12 months after the date of its last amendment. Its valid form is @OperationsManual@, and its unfilled form @UnfilledOperationsManual@.+data OperationsManual' a1 a2 a3 a4 a5 a6 a7 = OperationsManual' a1 a2 a3 a4 a5 a6 a7+  deriving (Eq, Ord, Show)++-- | The name of the data type @OperationsManual'@.+class OperationsManual'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' | x -> a1 a2 a3 a4 a5 a6 a7 where+  operationsManual' ::+    Optic p f x x' (OperationsManual' a1 a2 a3 a4 a5 a6 a7) (OperationsManual' a1' a2' a3' a4' a5' a6' a7')++-- | Identity+instance (x' ~ OperationsManual' a1' a2' a3' a4' a5' a6' a7') => OperationsManual'Like p f (OperationsManual' a1 a2 a3 a4 a5 a6 a7) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' where+  operationsManual' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ OperationsManual' a1' a2 a3 a4 a5 a6 a7) => FirstIssueLike p f (OperationsManual' a1 a2 a3 a4 a5 a6 a7) x' a1 a1' where+  firstIssue f (OperationsManual' x1 x2 x3 x4 x5 x6 x7) = fmap (\x1' -> OperationsManual' x1' x2 x3 x4 x5 x6 x7) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ OperationsManual' a1 a2' a3 a4 a5 a6 a7) => RevisionsLike p f (OperationsManual' a1 a2 a3 a4 a5 a6 a7) x' a2 a2' where+  revisions f (OperationsManual' x1 x2 x3 x4 x5 x6 x7) = fmap (\x2' -> OperationsManual' x1 x2' x3 x4 x5 x6 x7) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ OperationsManual' a1 a2 a3' a4 a5 a6 a7) => ServicesLike p f (OperationsManual' a1 a2 a3 a4 a5 a6 a7) x' a3 a3' where+  services f (OperationsManual' x1 x2 x3 x4 x5 x6 x7) = fmap (\x3' -> OperationsManual' x1 x2 x3' x4 x5 x6 x7) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ OperationsManual' a1 a2 a3 a4' a5 a6 a7) => PoliciesLike p f (OperationsManual' a1 a2 a3 a4 a5 a6 a7) x' a4 a4' where+  policies f (OperationsManual' x1 x2 x3 x4 x5 x6 x7) = fmap (\x4' -> OperationsManual' x1 x2 x3 x4' x5 x6 x7) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ OperationsManual' a1 a2 a3 a4 a5' a6 a7) => RiskRegisterLike p f (OperationsManual' a1 a2 a3 a4 a5 a6 a7) x' a5 a5' where+  riskRegister f (OperationsManual' x1 x2 x3 x4 x5 x6 x7) = fmap (\x5' -> OperationsManual' x1 x2 x3 x4 x5' x6 x7) (f x5)++-- | Lens+instance (p ~ (->), Functor f, x' ~ OperationsManual' a1 a2 a3 a4 a5 a6' a7) => CrewLike p f (OperationsManual' a1 a2 a3 a4 a5 a6 a7) x' a6 a6' where+  crew f (OperationsManual' x1 x2 x3 x4 x5 x6 x7) = fmap (\x6' -> OperationsManual' x1 x2 x3 x4 x5 x6' x7) (f x6)++-- | Lens+instance (p ~ (->), Functor f, x' ~ OperationsManual' a1 a2 a3 a4 a5 a6 a7') => PilotsLike p f (OperationsManual' a1 a2 a3 a4 a5 a6 a7) x' a7 a7' where+  pilots f (OperationsManual' x1 x2 x3 x4 x5 x6 x7) = fmap (OperationsManual' x1 x2 x3 x4 x5 x6) (f x7)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesOperationsManual' == id+-}+lawNamesOperationsManual' :: OperationsManual' a1 a2 a3 a4 a5 a6 a7 -> OperationsManual' a1 a2 a3 a4 a5 a6 a7+lawNamesOperationsManual' s =+  OperationsManual'+    (view (cloneLens firstIssue) s)+    (view (cloneLens revisions) s)+    (view (cloneLens services) s)+    (view (cloneLens policies) s)+    (view (cloneLens riskRegister) s)+    (view (cloneLens crew) s)+    (view (cloneLens pilots) s)++-- | A valid @OperationsManual'@.+type OperationsManual = OperationsManual' FirstIssue [Revision] (NonEmpty Text1) Policies (NonEmpty Risk) Crewing RemotePilots++-- | An unfilled @OperationsManual'@: each field holds what has been entered, if anything, to be checked by @fillOperationsManual@.+type UnfilledOperationsManual = OperationsManual' UnfilledFirstIssue [UnfilledRevision] [Text] UnfilledPolicies [UnfilledRisk] (Maybe Crewing) (Maybe RemotePilots)++-- | Builds a valid @OperationsManual'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkOperationsManual :: FirstIssue -> NonEmpty Text1 -> Policies -> NonEmpty Risk -> Crewing -> RemotePilots -> OperationsManual+mkOperationsManual x1 = OperationsManual' x1 []++-- | An unfilled @OperationsManual'@ with nothing entered.+mkUnfilledOperationsManual :: UnfilledOperationsManual+mkUnfilledOperationsManual =+  OperationsManual'+    mkUnfilledFirstIssue+    []+    []+    mkUnfilledPolicies+    []+    Nothing+    Nothing++-- | The classes that a data type holding @OperationsManual'@ in one field, or in one or more constructors, inherits.+type InheritOperationsManual' s a1 a2 a3 a4 a5 a6 a7 =+  ( OperationsManual'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 a6 a6 a7 a7+  , FirstIssueLike (->) (Const ()) s s a1 a1+  , RevisionsLike (->) (Const ()) s s a2 a2+  , ServicesLike (->) (Const ()) s s a3 a3+  , PoliciesLike (->) (Const ()) s s a4 a4+  , RiskRegisterLike (->) (Const ()) s s a5 a5+  , CrewLike (->) (Const ()) s s a6 a6+  , PilotsLike (->) (Const ()) s s a7 a7+  )++-- | Checks that a data type inherits every class of @InheritOperationsManual'@.+inheritOperationsManual' :: (InheritOperationsManual' s a1 a2 a3 a4 a5 a6 a7) => proxy s -> ()+inheritOperationsManual' _ = ()
+ src/ReOC/Data/Operator.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritOperator') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Operator'@: the operator: the company, its key personnel and the types of RPA it operates, which are held by both documents. The fleet has at most 8 types, so that with up to 9 types of training RPA it fits question 27.+module ReOC.Data.Operator (+  Operator' (..),+  Operator'Like (..),+  lawNamesOperator',+  Operator,+  UnfilledOperator,+  mkUnfilledOperator,+  InheritOperator',+  inheritOperator',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import ReOC.Data.Company (Company, UnfilledCompany, mkUnfilledCompany)+import ReOC.Data.KeyPersonnel (KeyPersonnel, UnfilledKeyPersonnel, mkUnfilledKeyPersonnel)+import ReOC.Data.OperatedType (OperatedType, UnfilledOperatedType)+import ReOC.Name.Company (CompanyLike (..))+import ReOC.Name.Fleet (FleetLike (..))+import ReOC.Name.KeyPersonnel (KeyPersonnelLike (..))+import ReOC.Primitive.Some (Some)++-- | The operator: the company, its key personnel and the types of RPA it operates, which are held by both documents. The fleet has at most 8 types, so that with up to 9 types of training RPA it fits question 27. Its valid form is @Operator@, and its unfilled form @UnfilledOperator@.+data Operator' a1 a2 a3 = Operator' a1 a2 a3+  deriving (Eq, Ord, Show)++-- | The name of the data type @Operator'@.+class Operator'Like p f x x' a1 a1' a2 a2' a3 a3' | x -> a1 a2 a3 where+  operator' ::+    Optic p f x x' (Operator' a1 a2 a3) (Operator' a1' a2' a3')++-- | Identity+instance (x' ~ Operator' a1' a2' a3') => Operator'Like p f (Operator' a1 a2 a3) x' a1 a1' a2 a2' a3 a3' where+  operator' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Operator' a1' a2 a3) => CompanyLike p f (Operator' a1 a2 a3) x' a1 a1' where+  company f (Operator' x1 x2 x3) = fmap (\x1' -> Operator' x1' x2 x3) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Operator' a1 a2' a3) => KeyPersonnelLike p f (Operator' a1 a2 a3) x' a2 a2' where+  keyPersonnel f (Operator' x1 x2 x3) = fmap (\x2' -> Operator' x1 x2' x3) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Operator' a1 a2 a3') => FleetLike p f (Operator' a1 a2 a3) x' a3 a3' where+  fleet f (Operator' x1 x2 x3) = fmap (Operator' x1 x2) (f x3)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesOperator' == id+-}+lawNamesOperator' :: Operator' a1 a2 a3 -> Operator' a1 a2 a3+lawNamesOperator' s =+  Operator'+    (view (cloneLens company) s)+    (view (cloneLens keyPersonnel) s)+    (view (cloneLens fleet) s)++-- | A valid @Operator'@.+type Operator = Operator' Company KeyPersonnel (Some 8 OperatedType)++-- | An unfilled @Operator'@: each field holds what has been entered, if anything, to be checked by @fillOperator@.+type UnfilledOperator = Operator' UnfilledCompany UnfilledKeyPersonnel [UnfilledOperatedType]++-- | An unfilled @Operator'@ with nothing entered.+mkUnfilledOperator :: UnfilledOperator+mkUnfilledOperator =+  Operator'+    mkUnfilledCompany+    mkUnfilledKeyPersonnel+    []++-- | The classes that a data type holding @Operator'@ in one field, or in one or more constructors, inherits.+type InheritOperator' s a1 a2 a3 =+  ( Operator'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3+  , CompanyLike (->) (Const ()) s s a1 a1+  , KeyPersonnelLike (->) (Const ()) s s a2 a2+  , FleetLike (->) (Const ()) s s a3 a3+  )++-- | Checks that a data type inherits every class of @InheritOperator'@.+inheritOperator' :: (InheritOperator' s a1 a2 a3) => proxy s -> ()+inheritOperator' _ = ()
+ src/ReOC/Data/OtherReOCRoles.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritOtherReOCRoles') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @OtherReOCRoles'@: whether a person is also a chief remote pilot or chief RePL instructor for other ReOC holders (CASA Form 101-02, questions 11 and 18).+module ReOC.Data.OtherReOCRoles (+  OtherReOCRoles' (..),+  OtherReOCRoles'Like (..),+  lawNamesOtherReOCRoles',+  OtherReOCRoles,+  UnfilledOtherReOCRoles,+  InheritOtherReOCRoles',+  inheritOtherReOCRoles',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.NoOtherReOCRoles (NoOtherReOCRolesLike (..))+import ReOC.Name.OtherReOCRolesHeld (OtherReOCRolesHeldLike (..))+import ReOC.Primitive.FormText (FormLines)++-- | Whether a person is also a chief remote pilot or chief RePL instructor for other ReOC holders (CASA Form 101-02, questions 11 and 18). Its valid form is @OtherReOCRoles@, and its unfilled form @UnfilledOtherReOCRoles@.+data OtherReOCRoles' a1+  = NoOtherReOCRoles+  | OtherReOCRolesHeld a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @OtherReOCRoles'@.+class OtherReOCRoles'Like p f x x' a1 a1' | x -> a1 where+  otherReOCRoles' ::+    Optic p f x x' (OtherReOCRoles' a1) (OtherReOCRoles' a1')++-- | Identity+instance (x' ~ OtherReOCRoles' a1') => OtherReOCRoles'Like p f (OtherReOCRoles' a1) x' a1 a1' where+  otherReOCRoles' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ OtherReOCRoles' a1) => NoOtherReOCRolesLike p f (OtherReOCRoles' a1) x' where+  noOtherReOCRoles = prism' (\() -> NoOtherReOCRoles) (\case NoOtherReOCRoles -> Just (); OtherReOCRolesHeld _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ OtherReOCRoles' a1') => OtherReOCRolesHeldLike p f (OtherReOCRoles' a1) x' a1 a1' where+  otherReOCRolesHeld = prism OtherReOCRolesHeld (\case NoOtherReOCRoles -> Left NoOtherReOCRoles; OtherReOCRolesHeld x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesOtherReOCRoles' == id+-}+lawNamesOtherReOCRoles' :: OtherReOCRoles' a1 -> OtherReOCRoles' a1+lawNamesOtherReOCRoles' = \case+  NoOtherReOCRoles -> review noOtherReOCRoles ()+  OtherReOCRolesHeld x -> review otherReOCRolesHeld x++-- | A valid @OtherReOCRoles'@.+type OtherReOCRoles = OtherReOCRoles' (FormLines 5)++-- | An unfilled @OtherReOCRoles'@: each field holds what has been entered, if anything, to be checked by @fillOtherReOCRoles@.+type UnfilledOtherReOCRoles = OtherReOCRoles' (Maybe Text)++-- | The classes that a data type holding @OtherReOCRoles'@ in one field, or in one or more constructors, inherits.+type InheritOtherReOCRoles' s a1 =+  ( OtherReOCRoles'Like (->) (Const ()) s s a1 a1+  , NoOtherReOCRolesLike (->) (Const ()) s s+  , OtherReOCRolesHeldLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritOtherReOCRoles'@.+inheritOtherReOCRoles' :: (InheritOtherReOCRoles' s a1) => proxy s -> ()+inheritOtherReOCRoles' _ = ()
+ src/ReOC/Data/Person.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritPerson') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Person'@: a person: their full name, aviation reference number and contact details.+module ReOC.Data.Person (+  Person' (..),+  Person'Like (..),+  lawNamesPerson',+  Person,+  UnfilledPerson,+  mkUnfilledPerson,+  InheritPerson',+  inheritPerson',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.Arn (ArnLike (..))+import ReOC.Name.EmailAddress (EmailAddressLike (..))+import ReOC.Name.FullName (FullNameLike (..))+import ReOC.Name.PhoneNumber (PhoneNumberLike (..))+import ReOC.Primitive.ARN (ARN)+import ReOC.Primitive.EmailAddress (EmailAddress)+import ReOC.Primitive.FormText (FormLine)+import ReOC.Primitive.PhoneNumber (PhoneNumber)++-- | A person: their full name, aviation reference number and contact details. Its valid form is @Person@, and its unfilled form @UnfilledPerson@.+data Person' a1 a2 a3 a4 = Person' a1 a2 a3 a4+  deriving (Eq, Ord, Show)++-- | The name of the data type @Person'@.+class Person'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' | x -> a1 a2 a3 a4 where+  person' ::+    Optic p f x x' (Person' a1 a2 a3 a4) (Person' a1' a2' a3' a4')++-- | Identity+instance (x' ~ Person' a1' a2' a3' a4') => Person'Like p f (Person' a1 a2 a3 a4) x' a1 a1' a2 a2' a3 a3' a4 a4' where+  person' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Person' a1' a2 a3 a4) => FullNameLike p f (Person' a1 a2 a3 a4) x' a1 a1' where+  fullName f (Person' x1 x2 x3 x4) = fmap (\x1' -> Person' x1' x2 x3 x4) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Person' a1 a2' a3 a4) => ArnLike p f (Person' a1 a2 a3 a4) x' a2 a2' where+  arn f (Person' x1 x2 x3 x4) = fmap (\x2' -> Person' x1 x2' x3 x4) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Person' a1 a2 a3' a4) => PhoneNumberLike p f (Person' a1 a2 a3 a4) x' a3 a3' where+  phoneNumber f (Person' x1 x2 x3 x4) = fmap (\x3' -> Person' x1 x2 x3' x4) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Person' a1 a2 a3 a4') => EmailAddressLike p f (Person' a1 a2 a3 a4) x' a4 a4' where+  emailAddress f (Person' x1 x2 x3 x4) = fmap (Person' x1 x2 x3) (f x4)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesPerson' == id+-}+lawNamesPerson' :: Person' a1 a2 a3 a4 -> Person' a1 a2 a3 a4+lawNamesPerson' s =+  Person'+    (view (cloneLens fullName) s)+    (view (cloneLens arn) s)+    (view (cloneLens phoneNumber) s)+    (view (cloneLens emailAddress) s)++-- | A valid @Person'@.+type Person = Person' FormLine ARN PhoneNumber EmailAddress++-- | An unfilled @Person'@: each field holds what has been entered, if anything, to be checked by @fillPerson@.+type UnfilledPerson = Person' (Maybe Text) (Maybe Text) (Maybe Text) (Maybe Text)++-- | An unfilled @Person'@ with nothing entered.+mkUnfilledPerson :: UnfilledPerson+mkUnfilledPerson =+  Person'+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @Person'@ in one field, or in one or more constructors, inherits.+type InheritPerson' s a1 a2 a3 a4 =+  ( Person'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4+  , FullNameLike (->) (Const ()) s s a1 a1+  , ArnLike (->) (Const ()) s s a2 a2+  , PhoneNumberLike (->) (Const ()) s s a3 a3+  , EmailAddressLike (->) (Const ()) s s a4 a4+  )++-- | Checks that a data type inherits every class of @InheritPerson'@.+inheritPerson' :: (InheritPerson' s a1 a2 a3 a4) => proxy s -> ()+inheritPerson' _ = ()
+ src/ReOC/Data/PersonnelHistory.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritPersonnelHistory') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @PersonnelHistory'@: the history of the applicant and nominated personnel (CASA Form 101-02, questions 19 to 23).+module ReOC.Data.PersonnelHistory (+  PersonnelHistory' (..),+  PersonnelHistory'Like (..),+  lawNamesPersonnelHistory',+  PersonnelHistory,+  UnfilledPersonnelHistory,+  mkUnfilledPersonnelHistory,+  InheritPersonnelHistory',+  inheritPersonnelHistory',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import ReOC.Data.HistoryAnswer (HistoryAnswer, UnfilledHistoryAnswer)+import ReOC.Name.ActionTaken (ActionTakenLike (..))+import ReOC.Name.CriminalConviction (CriminalConvictionLike (..))+import ReOC.Name.SuspensionPending (SuspensionPendingLike (..))+import ReOC.Name.TransportLicenceRefused (TransportLicenceRefusedLike (..))++-- | The history of the applicant and nominated personnel (CASA Form 101-02, questions 19 to 23). Its valid form is @PersonnelHistory@, and its unfilled form @UnfilledPersonnelHistory@.+data PersonnelHistory' a1 a2 a3 a4 = PersonnelHistory' a1 a2 a3 a4+  deriving (Eq, Ord, Show)++-- | The name of the data type @PersonnelHistory'@.+class PersonnelHistory'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' | x -> a1 a2 a3 a4 where+  personnelHistory' ::+    Optic p f x x' (PersonnelHistory' a1 a2 a3 a4) (PersonnelHistory' a1' a2' a3' a4')++-- | Identity+instance (x' ~ PersonnelHistory' a1' a2' a3' a4') => PersonnelHistory'Like p f (PersonnelHistory' a1 a2 a3 a4) x' a1 a1' a2 a2' a3 a3' a4 a4' where+  personnelHistory' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ PersonnelHistory' a1' a2 a3 a4) => ActionTakenLike p f (PersonnelHistory' a1 a2 a3 a4) x' a1 a1' where+  actionTaken f (PersonnelHistory' x1 x2 x3 x4) = fmap (\x1' -> PersonnelHistory' x1' x2 x3 x4) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ PersonnelHistory' a1 a2' a3 a4) => TransportLicenceRefusedLike p f (PersonnelHistory' a1 a2 a3 a4) x' a2 a2' where+  transportLicenceRefused f (PersonnelHistory' x1 x2 x3 x4) = fmap (\x2' -> PersonnelHistory' x1 x2' x3 x4) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ PersonnelHistory' a1 a2 a3' a4) => CriminalConvictionLike p f (PersonnelHistory' a1 a2 a3 a4) x' a3 a3' where+  criminalConviction f (PersonnelHistory' x1 x2 x3 x4) = fmap (\x3' -> PersonnelHistory' x1 x2 x3' x4) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ PersonnelHistory' a1 a2 a3 a4') => SuspensionPendingLike p f (PersonnelHistory' a1 a2 a3 a4) x' a4 a4' where+  suspensionPending f (PersonnelHistory' x1 x2 x3 x4) = fmap (PersonnelHistory' x1 x2 x3) (f x4)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesPersonnelHistory' == id+-}+lawNamesPersonnelHistory' :: PersonnelHistory' a1 a2 a3 a4 -> PersonnelHistory' a1 a2 a3 a4+lawNamesPersonnelHistory' s =+  PersonnelHistory'+    (view (cloneLens actionTaken) s)+    (view (cloneLens transportLicenceRefused) s)+    (view (cloneLens criminalConviction) s)+    (view (cloneLens suspensionPending) s)++-- | A valid @PersonnelHistory'@.+type PersonnelHistory = PersonnelHistory' HistoryAnswer HistoryAnswer HistoryAnswer HistoryAnswer++-- | An unfilled @PersonnelHistory'@: each field holds what has been entered, if anything, to be checked by @fillPersonnelHistory@.+type UnfilledPersonnelHistory = PersonnelHistory' (Maybe UnfilledHistoryAnswer) (Maybe UnfilledHistoryAnswer) (Maybe UnfilledHistoryAnswer) (Maybe UnfilledHistoryAnswer)++-- | An unfilled @PersonnelHistory'@ with nothing entered.+mkUnfilledPersonnelHistory :: UnfilledPersonnelHistory+mkUnfilledPersonnelHistory =+  PersonnelHistory'+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @PersonnelHistory'@ in one field, or in one or more constructors, inherits.+type InheritPersonnelHistory' s a1 a2 a3 a4 =+  ( PersonnelHistory'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4+  , ActionTakenLike (->) (Const ()) s s a1 a1+  , TransportLicenceRefusedLike (->) (Const ()) s s a2 a2+  , CriminalConvictionLike (->) (Const ()) s s a3 a3+  , SuspensionPendingLike (->) (Const ()) s s a4 a4+  )++-- | Checks that a data type inherits every class of @InheritPersonnelHistory'@.+inheritPersonnelHistory' :: (InheritPersonnelHistory' s a1 a2 a3 a4) => proxy s -> ()+inheritPersonnelHistory' _ = ()
+ src/ReOC/Data/Policies.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritPolicies') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Policies'@: the limits that the operator sets in its operations manual.+module ReOC.Data.Policies (+  Policies' (..),+  Policies'Like (..),+  lawNamesPolicies',+  Policies,+  UnfilledPolicies,+  mkUnfilledPolicies,+  InheritPolicies',+  inheritPolicies',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Numeric.Natural (Natural)+import ReOC.Data.BackupInterval (BackupInterval)+import ReOC.Name.AlcoholHours (AlcoholHoursLike (..))+import ReOC.Name.BackupFrequency (BackupFrequencyLike (..))+import ReOC.Name.BatteryReserve (BatteryReserveLike (..))+import ReOC.Name.CheckingMonths (CheckingMonthsLike (..))+import ReOC.Name.DutyHours (DutyHoursLike (..))+import ReOC.Name.IndependentReviewYears (IndependentReviewYearsLike (..))+import ReOC.Name.InspectionHours (InspectionHoursLike (..))+import ReOC.Name.InspectionMonths (InspectionMonthsLike (..))+import ReOC.Name.RecencyDays (RecencyDaysLike (..))+import ReOC.Name.RecencyFlights (RecencyFlightsLike (..))+import ReOC.Name.RefresherMonths (RefresherMonthsLike (..))+import ReOC.Name.RestHours (RestHoursLike (..))+import ReOC.Primitive.Percentage (Percentage)+import ReOC.Primitive.Positive (Positive)++-- | The limits that the operator sets in its operations manual. Its valid form is @Policies@, and its unfilled form @UnfilledPolicies@.+data Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 = Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12+  deriving (Eq, Ord, Show)++-- | The name of the data type @Policies'@.+class Policies'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' a9 a9' a10 a10' a11 a11' a12 a12' | x -> a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 where+  policies' ::+    Optic p f x x' (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) (Policies' a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12')++-- | Identity+instance (x' ~ Policies' a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12') => Policies'Like p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' a9 a9' a10 a10' a11 a11' a12 a12' where+  policies' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1' a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) => RecencyFlightsLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a1 a1' where+  recencyFlights f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x1' -> Policies' x1' x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2' a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) => RecencyDaysLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a2 a2' where+  recencyDays f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x2' -> Policies' x1 x2' x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3' a4 a5 a6 a7 a8 a9 a10 a11 a12) => RefresherMonthsLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a3 a3' where+  refresherMonths f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x3' -> Policies' x1 x2 x3' x4 x5 x6 x7 x8 x9 x10 x11 x12) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3 a4' a5 a6 a7 a8 a9 a10 a11 a12) => AlcoholHoursLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a4 a4' where+  alcoholHours f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x4' -> Policies' x1 x2 x3 x4' x5 x6 x7 x8 x9 x10 x11 x12) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3 a4 a5' a6 a7 a8 a9 a10 a11 a12) => RestHoursLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a5 a5' where+  restHours f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x5' -> Policies' x1 x2 x3 x4 x5' x6 x7 x8 x9 x10 x11 x12) (f x5)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3 a4 a5 a6' a7 a8 a9 a10 a11 a12) => DutyHoursLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a6 a6' where+  dutyHours f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x6' -> Policies' x1 x2 x3 x4 x5 x6' x7 x8 x9 x10 x11 x12) (f x6)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3 a4 a5 a6 a7' a8 a9 a10 a11 a12) => InspectionMonthsLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a7 a7' where+  inspectionMonths f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x7' -> Policies' x1 x2 x3 x4 x5 x6 x7' x8 x9 x10 x11 x12) (f x7)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3 a4 a5 a6 a7 a8' a9 a10 a11 a12) => InspectionHoursLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a8 a8' where+  inspectionHours f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x8' -> Policies' x1 x2 x3 x4 x5 x6 x7 x8' x9 x10 x11 x12) (f x8)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9' a10 a11 a12) => BatteryReserveLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a9 a9' where+  batteryReserve f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x9' -> Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9' x10 x11 x12) (f x9)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10' a11 a12) => BackupFrequencyLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a10 a10' where+  backupFrequency f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x10' -> Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10' x11 x12) (f x10)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11' a12) => IndependentReviewYearsLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a11 a11' where+  independentReviewYears f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x11' -> Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11' x12) (f x11)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12') => CheckingMonthsLike p f (Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a12 a12' where+  checkingMonths f (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11) (f x12)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesPolicies' == id+-}+lawNamesPolicies' :: Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 -> Policies' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12+lawNamesPolicies' s =+  Policies'+    (view (cloneLens recencyFlights) s)+    (view (cloneLens recencyDays) s)+    (view (cloneLens refresherMonths) s)+    (view (cloneLens alcoholHours) s)+    (view (cloneLens restHours) s)+    (view (cloneLens dutyHours) s)+    (view (cloneLens inspectionMonths) s)+    (view (cloneLens inspectionHours) s)+    (view (cloneLens batteryReserve) s)+    (view (cloneLens backupFrequency) s)+    (view (cloneLens independentReviewYears) s)+    (view (cloneLens checkingMonths) s)++-- | A valid @Policies'@.+type Policies = Policies' Positive Positive Positive Positive Positive Positive Positive Positive Percentage BackupInterval Positive Positive++-- | An unfilled @Policies'@: each field holds what has been entered, if anything, to be checked by @fillPolicies@.+type UnfilledPolicies = Policies' (Maybe Natural) (Maybe Natural) (Maybe Natural) (Maybe Natural) (Maybe Natural) (Maybe Natural) (Maybe Natural) (Maybe Natural) (Maybe Natural) (Maybe BackupInterval) (Maybe Natural) (Maybe Natural)++-- | An unfilled @Policies'@ with nothing entered.+mkUnfilledPolicies :: UnfilledPolicies+mkUnfilledPolicies =+  Policies'+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @Policies'@ in one field, or in one or more constructors, inherits.+type InheritPolicies' s a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =+  ( Policies'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 a6 a6 a7 a7 a8 a8 a9 a9 a10 a10 a11 a11 a12 a12+  , RecencyFlightsLike (->) (Const ()) s s a1 a1+  , RecencyDaysLike (->) (Const ()) s s a2 a2+  , RefresherMonthsLike (->) (Const ()) s s a3 a3+  , AlcoholHoursLike (->) (Const ()) s s a4 a4+  , RestHoursLike (->) (Const ()) s s a5 a5+  , DutyHoursLike (->) (Const ()) s s a6 a6+  , InspectionMonthsLike (->) (Const ()) s s a7 a7+  , InspectionHoursLike (->) (Const ()) s s a8 a8+  , BatteryReserveLike (->) (Const ()) s s a9 a9+  , BackupFrequencyLike (->) (Const ()) s s a10 a10+  , IndependentReviewYearsLike (->) (Const ()) s s a11 a11+  , CheckingMonthsLike (->) (Const ()) s s a12 a12+  )++-- | Checks that a data type inherits every class of @InheritPolicies'@.+inheritPolicies' :: (InheritPolicies' s a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) => proxy s -> ()+inheritPolicies' _ = ()
+ src/ReOC/Data/PrimaryContact.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritPrimaryContact') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @PrimaryContact'@: who is the primary contact for the application (CASA Form 101-02, questions 2 and 3).+module ReOC.Data.PrimaryContact (+  PrimaryContact' (..),+  PrimaryContact'Like (..),+  lawNamesPrimaryContact',+  PrimaryContact,+  UnfilledPrimaryContact,+  InheritPrimaryContact',+  inheritPrimaryContact',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import ReOC.Data.ContactPerson (ContactPerson, UnfilledContactPerson)+import ReOC.Name.ApplicantIsPrimaryContact (ApplicantIsPrimaryContactLike (..))+import ReOC.Name.PrimaryContactPerson (PrimaryContactPersonLike (..))++-- | Who is the primary contact for the application (CASA Form 101-02, questions 2 and 3). Its valid form is @PrimaryContact@, and its unfilled form @UnfilledPrimaryContact@.+data PrimaryContact' a1+  = ApplicantIsPrimaryContact+  | PrimaryContactPerson a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @PrimaryContact'@.+class PrimaryContact'Like p f x x' a1 a1' | x -> a1 where+  primaryContact' ::+    Optic p f x x' (PrimaryContact' a1) (PrimaryContact' a1')++-- | Identity+instance (x' ~ PrimaryContact' a1') => PrimaryContact'Like p f (PrimaryContact' a1) x' a1 a1' where+  primaryContact' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ PrimaryContact' a1) => ApplicantIsPrimaryContactLike p f (PrimaryContact' a1) x' where+  applicantIsPrimaryContact = prism' (\() -> ApplicantIsPrimaryContact) (\case ApplicantIsPrimaryContact -> Just (); PrimaryContactPerson _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ PrimaryContact' a1') => PrimaryContactPersonLike p f (PrimaryContact' a1) x' a1 a1' where+  primaryContactPerson = prism PrimaryContactPerson (\case ApplicantIsPrimaryContact -> Left ApplicantIsPrimaryContact; PrimaryContactPerson x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesPrimaryContact' == id+-}+lawNamesPrimaryContact' :: PrimaryContact' a1 -> PrimaryContact' a1+lawNamesPrimaryContact' = \case+  ApplicantIsPrimaryContact -> review applicantIsPrimaryContact ()+  PrimaryContactPerson x -> review primaryContactPerson x++-- | A valid @PrimaryContact'@.+type PrimaryContact = PrimaryContact' ContactPerson++-- | An unfilled @PrimaryContact'@: each field holds what has been entered, if anything, to be checked by @fillPrimaryContact@.+type UnfilledPrimaryContact = PrimaryContact' UnfilledContactPerson++-- | The classes that a data type holding @PrimaryContact'@ in one field, or in one or more constructors, inherits.+type InheritPrimaryContact' s a1 =+  ( PrimaryContact'Like (->) (Const ()) s s a1 a1+  , ApplicantIsPrimaryContactLike (->) (Const ()) s s+  , PrimaryContactPersonLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritPrimaryContact'@.+inheritPrimaryContact' :: (InheritPrimaryContact' s a1) => proxy s -> ()+inheritPrimaryContact' _ = ()
+ src/ReOC/Data/RPACategory.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRPACategory) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RPACategory@: a category of remotely piloted aircraft (CASA Form 101-02, questions 27 and 29). The operations manual does not cover airships.+module ReOC.Data.RPACategory (+  RPACategory (..),+  RPACategoryLike (..),+  lawNamesRPACategory,+  InheritRPACategory,+  inheritRPACategory,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.Aeroplane (AeroplaneLike (..))+import ReOC.Name.Helicopter (HelicopterLike (..))+import ReOC.Name.Multirotor (MultirotorLike (..))+import ReOC.Name.PoweredLift (PoweredLiftLike (..))++-- | A category of remotely piloted aircraft (CASA Form 101-02, questions 27 and 29). The operations manual does not cover airships.+data RPACategory+  = Aeroplane+  | Helicopter+  | Multirotor+  | PoweredLift+  deriving (Eq, Ord, Show)++-- | The name of the data type @RPACategory@.+class RPACategoryLike p f x x' where+  rpaCategory ::+    Optic p f x x' RPACategory RPACategory++-- | Identity+instance (x' ~ RPACategory) => RPACategoryLike p f RPACategory x' where+  rpaCategory = id++-- | Prism+instance (Choice p, Applicative f, x' ~ RPACategory) => AeroplaneLike p f RPACategory x' where+  aeroplane = prism' (\() -> Aeroplane) (\case Aeroplane -> Just (); Helicopter -> Nothing; Multirotor -> Nothing; PoweredLift -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RPACategory) => HelicopterLike p f RPACategory x' where+  helicopter = prism' (\() -> Helicopter) (\case Aeroplane -> Nothing; Helicopter -> Just (); Multirotor -> Nothing; PoweredLift -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RPACategory) => MultirotorLike p f RPACategory x' where+  multirotor = prism' (\() -> Multirotor) (\case Aeroplane -> Nothing; Helicopter -> Nothing; Multirotor -> Just (); PoweredLift -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RPACategory) => PoweredLiftLike p f RPACategory x' where+  poweredLift = prism' (\() -> PoweredLift) (\case Aeroplane -> Nothing; Helicopter -> Nothing; Multirotor -> Nothing; PoweredLift -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRPACategory == id+-}+lawNamesRPACategory :: RPACategory -> RPACategory+lawNamesRPACategory = \case+  Aeroplane -> review aeroplane ()+  Helicopter -> review helicopter ()+  Multirotor -> review multirotor ()+  PoweredLift -> review poweredLift ()++-- | The classes that a data type holding @RPACategory@ in one field, or in one or more constructors, inherits.+type InheritRPACategory s =+  ( RPACategoryLike (->) (Const ()) s s+  , AeroplaneLike (->) (Const ()) s s+  , HelicopterLike (->) (Const ()) s s+  , MultirotorLike (->) (Const ()) s s+  , PoweredLiftLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritRPACategory@.+inheritRPACategory :: (InheritRPACategory s) => proxy s -> ()+inheritRPACategory _ = ()
+ src/ReOC/Data/RPAType.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRPAType') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RPAType'@: a type of RPA, with the facts and type-specific procedures that the operations manual gives for it. Its short name (such as "DJI Mavic 3 Pro") names it in prose and on the form, and must fit the cell of question 27 for its make and model.+module ReOC.Data.RPAType (+  RPAType' (..),+  RPAType'Like (..),+  lawNamesRPAType',+  RPAType,+  UnfilledRPAType,+  mkRPAType,+  mkUnfilledRPAType,+  InheritRPAType',+  inheritRPAType',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.List.NonEmpty (NonEmpty)+import Data.Text (Text)+import Numeric.Natural (Natural)+import ReOC.Data.EmergencyAction (EmergencyAction, UnfilledEmergencyAction)+import ReOC.Data.FlightTermination (FlightTermination, UnfilledFlightTermination)+import ReOC.Data.RPACategory (RPACategory)+import ReOC.Data.Transponder (Transponder)+import ReOC.Name.BatteryWarnings (BatteryWarningsLike (..))+import ReOC.Name.BeforeFlight (BeforeFlightLike (..))+import ReOC.Name.Category (CategoryLike (..))+import ReOC.Name.EmergencyActions (EmergencyActionsLike (..))+import ReOC.Name.FlightTermination (FlightTerminationLike (..))+import ReOC.Name.InspectionItems (InspectionItemsLike (..))+import ReOC.Name.MaximumGrossWeight (MaximumGrossWeightLike (..))+import ReOC.Name.RpaMake (RpaMakeLike (..))+import ReOC.Name.RpaModel (RpaModelLike (..))+import ReOC.Name.ShortName (ShortNameLike (..))+import ReOC.Name.TransponderCarriage (TransponderCarriageLike (..))+import ReOC.Name.UserManual (UserManualLike (..))+import ReOC.Primitive.FormText (FormFont (..), FormText)+import ReOC.Primitive.GrossWeight (GrossWeight)+import ReOC.Primitive.Text1 (Text1)++-- | A type of RPA, with the facts and type-specific procedures that the operations manual gives for it. Its short name (such as "DJI Mavic 3 Pro") names it in prose and on the form, and must fit the cell of question 27 for its make and model. Its valid form is @RPAType@, and its unfilled form @UnfilledRPAType@.+data RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 = RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12+  deriving (Eq, Ord, Show)++-- | The name of the data type @RPAType'@.+class RPAType'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' a9 a9' a10 a10' a11 a11' a12 a12' | x -> a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 where+  rpaType' ::+    Optic p f x x' (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) (RPAType' a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12')++-- | Identity+instance (x' ~ RPAType' a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12') => RPAType'Like p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' a9 a9' a10 a10' a11 a11' a12 a12' where+  rpaType' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1' a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) => RpaMakeLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a1 a1' where+  rpaMake f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x1' -> RPAType' x1' x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2' a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) => RpaModelLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a2 a2' where+  rpaModel f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x2' -> RPAType' x1 x2' x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3' a4 a5 a6 a7 a8 a9 a10 a11 a12) => ShortNameLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a3 a3' where+  shortName f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x3' -> RPAType' x1 x2 x3' x4 x5 x6 x7 x8 x9 x10 x11 x12) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3 a4' a5 a6 a7 a8 a9 a10 a11 a12) => CategoryLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a4 a4' where+  category f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x4' -> RPAType' x1 x2 x3 x4' x5 x6 x7 x8 x9 x10 x11 x12) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3 a4 a5' a6 a7 a8 a9 a10 a11 a12) => MaximumGrossWeightLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a5 a5' where+  maximumGrossWeight f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x5' -> RPAType' x1 x2 x3 x4 x5' x6 x7 x8 x9 x10 x11 x12) (f x5)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3 a4 a5 a6' a7 a8 a9 a10 a11 a12) => UserManualLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a6 a6' where+  userManual f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x6' -> RPAType' x1 x2 x3 x4 x5 x6' x7 x8 x9 x10 x11 x12) (f x6)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3 a4 a5 a6 a7' a8 a9 a10 a11 a12) => TransponderCarriageLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a7 a7' where+  transponderCarriage f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x7' -> RPAType' x1 x2 x3 x4 x5 x6 x7' x8 x9 x10 x11 x12) (f x7)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3 a4 a5 a6 a7 a8' a9 a10 a11 a12) => FlightTerminationLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a8 a8' where+  flightTermination f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x8' -> RPAType' x1 x2 x3 x4 x5 x6 x7 x8' x9 x10 x11 x12) (f x8)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9' a10 a11 a12) => InspectionItemsLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a9 a9' where+  inspectionItems f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x9' -> RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9' x10 x11 x12) (f x9)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10' a11 a12) => BeforeFlightLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a10 a10' where+  beforeFlight f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x10' -> RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10' x11 x12) (f x10)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11' a12) => BatteryWarningsLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a11 a11' where+  batteryWarnings f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (\x11' -> RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11' x12) (f x11)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12') => EmergencyActionsLike p f (RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) x' a12 a12' where+  emergencyActions f (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = fmap (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11) (f x12)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRPAType' == id+-}+lawNamesRPAType' :: RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 -> RPAType' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12+lawNamesRPAType' s =+  RPAType'+    (view (cloneLens rpaMake) s)+    (view (cloneLens rpaModel) s)+    (view (cloneLens shortName) s)+    (view (cloneLens category) s)+    (view (cloneLens maximumGrossWeight) s)+    (view (cloneLens userManual) s)+    (view (cloneLens transponderCarriage) s)+    (view (cloneLens flightTermination) s)+    (view (cloneLens inspectionItems) s)+    (view (cloneLens beforeFlight) s)+    (view (cloneLens batteryWarnings) s)+    (view (cloneLens emergencyActions) s)++-- | A valid @RPAType'@.+type RPAType = RPAType' Text1 Text1 (FormText 'Narrow 84 1) RPACategory GrossWeight Text1 Transponder FlightTermination (NonEmpty Text1) [Text1] (Maybe Text1) [EmergencyAction]++-- | An unfilled @RPAType'@: each field holds what has been entered, if anything, to be checked by @fillRPAType@.+type UnfilledRPAType = RPAType' (Maybe Text) (Maybe Text) (Maybe Text) (Maybe RPACategory) (Maybe Natural) (Maybe Text) (Maybe Transponder) (Maybe UnfilledFlightTermination) [Text] [Text] (Maybe Text) [UnfilledEmergencyAction]++-- | Builds a valid @RPAType'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkRPAType :: Text1 -> Text1 -> FormText 'Narrow 84 1 -> RPACategory -> GrossWeight -> Text1 -> Transponder -> FlightTermination -> NonEmpty Text1 -> RPAType+mkRPAType x1 x2 x3 x4 x5 x6 x7 x8 x9 = RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 [] Nothing []++-- | An unfilled @RPAType'@ with nothing entered.+mkUnfilledRPAType :: UnfilledRPAType+mkUnfilledRPAType =+  RPAType'+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    []+    []+    Nothing+    []++-- | The classes that a data type holding @RPAType'@ in one field, or in one or more constructors, inherits.+type InheritRPAType' s a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =+  ( RPAType'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 a6 a6 a7 a7 a8 a8 a9 a9 a10 a10 a11 a11 a12 a12+  , RpaMakeLike (->) (Const ()) s s a1 a1+  , RpaModelLike (->) (Const ()) s s a2 a2+  , ShortNameLike (->) (Const ()) s s a3 a3+  , CategoryLike (->) (Const ()) s s a4 a4+  , MaximumGrossWeightLike (->) (Const ()) s s a5 a5+  , UserManualLike (->) (Const ()) s s a6 a6+  , TransponderCarriageLike (->) (Const ()) s s a7 a7+  , FlightTerminationLike (->) (Const ()) s s a8 a8+  , InspectionItemsLike (->) (Const ()) s s a9 a9+  , BeforeFlightLike (->) (Const ()) s s a10 a10+  , BatteryWarningsLike (->) (Const ()) s s a11 a11+  , EmergencyActionsLike (->) (Const ()) s s a12 a12+  )++-- | Checks that a data type inherits every class of @InheritRPAType'@.+inheritRPAType' :: (InheritRPAType' s a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) => proxy s -> ()+inheritRPAType' _ = ()
+ src/ReOC/Data/RadioQualification.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRadioQualification) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RadioQualification@: the qualification of the chief remote pilot to use an aeronautical radio.+module ReOC.Data.RadioQualification (+  RadioQualification (..),+  RadioQualificationLike (..),+  lawNamesRadioQualification,+  InheritRadioQualification,+  inheritRadioQualification,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.FlightCrewLicence (FlightCrewLicenceLike (..))+import ReOC.Name.NoRadioQualification (NoRadioQualificationLike (..))+import ReOC.Name.RadioOperatorCertificate (RadioOperatorCertificateLike (..))++-- | The qualification of the chief remote pilot to use an aeronautical radio.+data RadioQualification+  = FlightCrewLicence+  | RadioOperatorCertificate+  | NoRadioQualification+  deriving (Eq, Ord, Show)++-- | The name of the data type @RadioQualification@.+class RadioQualificationLike p f x x' where+  radioQualification ::+    Optic p f x x' RadioQualification RadioQualification++-- | Identity+instance (x' ~ RadioQualification) => RadioQualificationLike p f RadioQualification x' where+  radioQualification = id++-- | Prism+instance (Choice p, Applicative f, x' ~ RadioQualification) => FlightCrewLicenceLike p f RadioQualification x' where+  flightCrewLicence = prism' (\() -> FlightCrewLicence) (\case FlightCrewLicence -> Just (); RadioOperatorCertificate -> Nothing; NoRadioQualification -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RadioQualification) => RadioOperatorCertificateLike p f RadioQualification x' where+  radioOperatorCertificate = prism' (\() -> RadioOperatorCertificate) (\case FlightCrewLicence -> Nothing; RadioOperatorCertificate -> Just (); NoRadioQualification -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RadioQualification) => NoRadioQualificationLike p f RadioQualification x' where+  noRadioQualification = prism' (\() -> NoRadioQualification) (\case FlightCrewLicence -> Nothing; RadioOperatorCertificate -> Nothing; NoRadioQualification -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRadioQualification == id+-}+lawNamesRadioQualification :: RadioQualification -> RadioQualification+lawNamesRadioQualification = \case+  FlightCrewLicence -> review flightCrewLicence ()+  RadioOperatorCertificate -> review radioOperatorCertificate ()+  NoRadioQualification -> review noRadioQualification ()++-- | The classes that a data type holding @RadioQualification@ in one field, or in one or more constructors, inherits.+type InheritRadioQualification s =+  ( RadioQualificationLike (->) (Const ()) s s+  , FlightCrewLicenceLike (->) (Const ()) s s+  , RadioOperatorCertificateLike (->) (Const ()) s s+  , NoRadioQualificationLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritRadioQualification@.+inheritRadioQualification :: (InheritRadioQualification s) => proxy s -> ()+inheritRadioQualification _ = ()
+ src/ReOC/Data/ReOC.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritReOC') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @ReOC'@: an application for the initial issue of a ReOC: the operator, the answers to the application form, the operations manual, and RePL training if it is applied for.+module ReOC.Data.ReOC (+  ReOC' (..),+  ReOC'Like (..),+  lawNamesReOC',+  ReOC,+  UnfilledReOC,+  mkReOC,+  mkUnfilledReOC,+  InheritReOC',+  inheritReOC',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import ReOC.Data.ApplicationForm (ApplicationForm, UnfilledApplicationForm, mkUnfilledApplicationForm)+import ReOC.Data.OperationsManual (OperationsManual, UnfilledOperationsManual, mkUnfilledOperationsManual)+import ReOC.Data.Operator (Operator, UnfilledOperator, mkUnfilledOperator)+import ReOC.Data.TrainingMaterial (TrainingMaterial, UnfilledTrainingMaterial)+import ReOC.Name.ApplicationForm (ApplicationFormLike (..))+import ReOC.Name.MaybeTrainingMaterial (MaybeTrainingMaterialLike (..))+import ReOC.Name.OperationsManual (OperationsManualLike (..))+import ReOC.Name.Operator (OperatorLike (..))++-- | An application for the initial issue of a ReOC: the operator, the answers to the application form, the operations manual, and RePL training if it is applied for. Its valid form is @ReOC@, and its unfilled form @UnfilledReOC@.+data ReOC' a1 a2 a3 a4 = ReOC' a1 a2 a3 a4+  deriving (Eq, Ord, Show)++-- | The name of the data type @ReOC'@.+class ReOC'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' | x -> a1 a2 a3 a4 where+  reOC' ::+    Optic p f x x' (ReOC' a1 a2 a3 a4) (ReOC' a1' a2' a3' a4')++-- | Identity+instance (x' ~ ReOC' a1' a2' a3' a4') => ReOC'Like p f (ReOC' a1 a2 a3 a4) x' a1 a1' a2 a2' a3 a3' a4 a4' where+  reOC' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ ReOC' a1' a2 a3 a4) => OperatorLike p f (ReOC' a1 a2 a3 a4) x' a1 a1' where+  operator f (ReOC' x1 x2 x3 x4) = fmap (\x1' -> ReOC' x1' x2 x3 x4) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ReOC' a1 a2' a3 a4) => ApplicationFormLike p f (ReOC' a1 a2 a3 a4) x' a2 a2' where+  applicationForm f (ReOC' x1 x2 x3 x4) = fmap (\x2' -> ReOC' x1 x2' x3 x4) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ReOC' a1 a2 a3' a4) => OperationsManualLike p f (ReOC' a1 a2 a3 a4) x' a3 a3' where+  operationsManual f (ReOC' x1 x2 x3 x4) = fmap (\x3' -> ReOC' x1 x2 x3' x4) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ ReOC' a1 a2 a3 a4') => MaybeTrainingMaterialLike p f (ReOC' a1 a2 a3 a4) x' a4 a4' where+  maybeTrainingMaterial f (ReOC' x1 x2 x3 x4) = fmap (ReOC' x1 x2 x3) (f x4)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesReOC' == id+-}+lawNamesReOC' :: ReOC' a1 a2 a3 a4 -> ReOC' a1 a2 a3 a4+lawNamesReOC' s =+  ReOC'+    (view (cloneLens operator) s)+    (view (cloneLens applicationForm) s)+    (view (cloneLens operationsManual) s)+    (view (cloneLens maybeTrainingMaterial) s)++-- | A valid @ReOC'@.+type ReOC = ReOC' Operator ApplicationForm OperationsManual (Maybe TrainingMaterial)++-- | An unfilled @ReOC'@: each field holds what has been entered, if anything, to be checked by @fillReOC@.+type UnfilledReOC = ReOC' UnfilledOperator UnfilledApplicationForm UnfilledOperationsManual (Maybe UnfilledTrainingMaterial)++-- | Builds a valid @ReOC'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkReOC :: Operator -> ApplicationForm -> OperationsManual -> ReOC+mkReOC x1 x2 x3 = ReOC' x1 x2 x3 Nothing++-- | An unfilled @ReOC'@ with nothing entered.+mkUnfilledReOC :: UnfilledReOC+mkUnfilledReOC =+  ReOC'+    mkUnfilledOperator+    mkUnfilledApplicationForm+    mkUnfilledOperationsManual+    Nothing++-- | The classes that a data type holding @ReOC'@ in one field, or in one or more constructors, inherits.+type InheritReOC' s a1 a2 a3 a4 =+  ( ReOC'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4+  , OperatorLike (->) (Const ()) s s a1 a1+  , ApplicationFormLike (->) (Const ()) s s a2 a2+  , OperationsManualLike (->) (Const ()) s s a3 a3+  , MaybeTrainingMaterialLike (->) (Const ()) s s a4 a4+  )++-- | Checks that a data type inherits every class of @InheritReOC'@.+inheritReOC' :: (InheritReOC' s a1 a2 a3 a4) => proxy s -> ()+inheritReOC' _ = ()
+ src/ReOC/Data/ReOCError.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritReOCError) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @ReOCError@: a reason that an unfilled ReOC is not a valid ReOC.+module ReOC.Data.ReOCError (+  ReOCError (..),+  ReOCErrorLike (..),+  lawNamesReOCError,+  InheritReOCError,+  inheritReOCError,+  inheritsReOCError,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import Data.Proxy (Proxy (..))+import ReOC.Data.Invalid (Invalid, InvalidLike (..), inheritInvalid)+import ReOC.Data.InvalidValue (InvalidValueLike (..))+import ReOC.Data.TooMany (TooMany, TooManyLike (..), inheritTooMany)+import ReOC.Data.Unfilled (Unfilled, UnfilledLike (..), inheritUnfilled)+import ReOC.Name.GivenElements (GivenElementsLike (..))+import ReOC.Name.InvalidABN (InvalidABNLike (..))+import ReOC.Name.InvalidARN (InvalidARNLike (..))+import ReOC.Name.InvalidEmailAddress (InvalidEmailAddressLike (..))+import ReOC.Name.InvalidFormText (InvalidFormTextLike (..))+import ReOC.Name.InvalidGrossWeight (InvalidGrossWeightLike (..))+import ReOC.Name.InvalidPassMark (InvalidPassMarkLike (..))+import ReOC.Name.InvalidPercentage (InvalidPercentageLike (..))+import ReOC.Name.InvalidPhoneNumber (InvalidPhoneNumberLike (..))+import ReOC.Name.InvalidPositive (InvalidPositiveLike (..))+import ReOC.Name.InvalidPostcode (InvalidPostcodeLike (..))+import ReOC.Name.InvalidReviewMonths (InvalidReviewMonthsLike (..))+import ReOC.Name.InvalidText1 (InvalidText1Like (..))+import ReOC.Name.MostElements (MostElementsLike (..))+import ReOC.Name.Path (PathLike (..))++-- | A reason that an unfilled ReOC is not a valid ReOC.+data ReOCError+  = ReOCErrorUnfilled Unfilled+  | ReOCErrorInvalid Invalid+  | ReOCErrorTooMany TooMany+  deriving (Eq, Ord, Show)++-- | The name of the data type @ReOCError@.+class ReOCErrorLike p f x x' where+  reOCError ::+    Optic p f x x' ReOCError ReOCError++-- | Identity+instance (x' ~ ReOCError) => ReOCErrorLike p f ReOCError x' where+  reOCError = id++-- | Prism+instance (Choice p, Applicative f, x' ~ ReOCError) => UnfilledLike p f ReOCError x' where+  unfilled = prism' ReOCErrorUnfilled (\case ReOCErrorUnfilled x -> Just x; ReOCErrorInvalid _ -> Nothing; ReOCErrorTooMany _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ ReOCError) => InvalidLike p f ReOCError x' where+  invalid = prism' ReOCErrorInvalid (\case ReOCErrorUnfilled _ -> Nothing; ReOCErrorInvalid x -> Just x; ReOCErrorTooMany _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ ReOCError) => TooManyLike p f ReOCError x' where+  tooMany = prism' ReOCErrorTooMany (\case ReOCErrorUnfilled _ -> Nothing; ReOCErrorInvalid _ -> Nothing; ReOCErrorTooMany x -> Just x)++-- | Affine traversal: @path@ is reached through @ReOCErrorUnfilled@, @ReOCErrorInvalid@, @ReOCErrorTooMany@, once each.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => PathLike p f ReOCError x' where+  path f = \case+    ReOCErrorUnfilled x -> ReOCErrorUnfilled <$> path f x+    ReOCErrorInvalid x -> ReOCErrorInvalid <$> path f x+    ReOCErrorTooMany x -> ReOCErrorTooMany <$> path f x++-- | Affine traversal: through @invalid@, then @invalidValue@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidValueLike p f ReOCError x' where+  invalidValue = invalid . invalidValue++-- | Affine traversal: through @invalid@, then @invalidText1@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidText1Like p f ReOCError x' where+  invalidText1 = invalid . invalidText1++-- | Affine traversal: through @invalid@, then @invalidFormText@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidFormTextLike p f ReOCError x' where+  invalidFormText = invalid . invalidFormText++-- | Affine traversal: through @invalid@, then @invalidABN@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidABNLike p f ReOCError x' where+  invalidABN = invalid . invalidABN++-- | Affine traversal: through @invalid@, then @invalidARN@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidARNLike p f ReOCError x' where+  invalidARN = invalid . invalidARN++-- | Affine traversal: through @invalid@, then @invalidEmailAddress@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidEmailAddressLike p f ReOCError x' where+  invalidEmailAddress = invalid . invalidEmailAddress++-- | Affine traversal: through @invalid@, then @invalidPhoneNumber@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidPhoneNumberLike p f ReOCError x' where+  invalidPhoneNumber = invalid . invalidPhoneNumber++-- | Affine traversal: through @invalid@, then @invalidPostcode@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidPostcodeLike p f ReOCError x' where+  invalidPostcode = invalid . invalidPostcode++-- | Affine traversal: through @invalid@, then @invalidPositive@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidPositiveLike p f ReOCError x' where+  invalidPositive = invalid . invalidPositive++-- | Affine traversal: through @invalid@, then @invalidPercentage@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidPercentageLike p f ReOCError x' where+  invalidPercentage = invalid . invalidPercentage++-- | Affine traversal: through @invalid@, then @invalidGrossWeight@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidGrossWeightLike p f ReOCError x' where+  invalidGrossWeight = invalid . invalidGrossWeight++-- | Affine traversal: through @invalid@, then @invalidReviewMonths@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidReviewMonthsLike p f ReOCError x' where+  invalidReviewMonths = invalid . invalidReviewMonths++-- | Affine traversal: through @invalid@, then @invalidPassMark@ of @Invalid@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => InvalidPassMarkLike p f ReOCError x' where+  invalidPassMark = invalid . invalidPassMark++-- | Affine traversal: through @tooMany@, then @mostElements@ of @TooMany@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => MostElementsLike p f ReOCError x' where+  mostElements = tooMany . mostElements++-- | Affine traversal: through @tooMany@, then @givenElements@ of @TooMany@.+instance (p ~ (->), Applicative f, x' ~ ReOCError) => GivenElementsLike p f ReOCError x' where+  givenElements = tooMany . givenElements++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesReOCError == id+-}+lawNamesReOCError :: ReOCError -> ReOCError+lawNamesReOCError = \case+  ReOCErrorUnfilled x -> review unfilled x+  ReOCErrorInvalid x -> review invalid x+  ReOCErrorTooMany x -> review tooMany x++-- | The classes that a data type holding @ReOCError@ in one field, or in one or more constructors, inherits.+type InheritReOCError s =+  ( ReOCErrorLike (->) (Const ()) s s+  , UnfilledLike (->) (Const ()) s s+  , InvalidLike (->) (Const ()) s s+  , TooManyLike (->) (Const ()) s s+  , PathLike (->) (Const ()) s s+  , InvalidValueLike (->) (Const ()) s s+  , InvalidText1Like (->) (Const ()) s s+  , InvalidFormTextLike (->) (Const ()) s s+  , InvalidABNLike (->) (Const ()) s s+  , InvalidARNLike (->) (Const ()) s s+  , InvalidEmailAddressLike (->) (Const ()) s s+  , InvalidPhoneNumberLike (->) (Const ()) s s+  , InvalidPostcodeLike (->) (Const ()) s s+  , InvalidPositiveLike (->) (Const ()) s s+  , InvalidPercentageLike (->) (Const ()) s s+  , InvalidGrossWeightLike (->) (Const ()) s s+  , InvalidReviewMonthsLike (->) (Const ()) s s+  , InvalidPassMarkLike (->) (Const ()) s s+  , MostElementsLike (->) (Const ()) s s+  , GivenElementsLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritReOCError@.+inheritReOCError :: (InheritReOCError s) => proxy s -> ()+inheritReOCError _ = ()++-- | The checks of inheritance of @ReOCError@.+inheritsReOCError :: [()]+inheritsReOCError =+  [ inheritUnfilled p+  , inheritInvalid p+  , inheritTooMany p+  ]+ where+  p = Proxy :: Proxy ReOCError
+ src/ReOC/Data/RePLHolding.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRePLHolding') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RePLHolding'@: whether the chief RePL instructor holds a RePL for each type of RPA used in training (CASA Form 101-02, questions 14 and 17).+module ReOC.Data.RePLHolding (+  RePLHolding' (..),+  RePLHolding'Like (..),+  lawNamesRePLHolding',+  RePLHolding,+  UnfilledRePLHolding,+  InheritRePLHolding',+  inheritRePLHolding',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.HoldsRePLForEachType (HoldsRePLForEachTypeLike (..))+import ReOC.Name.RePLHoldingIntent (RePLHoldingIntentLike (..))+import ReOC.Primitive.FormText (FormFont (..), FormText)++-- | Whether the chief RePL instructor holds a RePL for each type of RPA used in training (CASA Form 101-02, questions 14 and 17). Its valid form is @RePLHolding@, and its unfilled form @UnfilledRePLHolding@.+data RePLHolding' a1+  = HoldsRePLForEachType+  | RePLHoldingIntent a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @RePLHolding'@.+class RePLHolding'Like p f x x' a1 a1' | x -> a1 where+  rePLHolding' ::+    Optic p f x x' (RePLHolding' a1) (RePLHolding' a1')++-- | Identity+instance (x' ~ RePLHolding' a1') => RePLHolding'Like p f (RePLHolding' a1) x' a1 a1' where+  rePLHolding' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ RePLHolding' a1) => HoldsRePLForEachTypeLike p f (RePLHolding' a1) x' where+  holdsRePLForEachType = prism' (\() -> HoldsRePLForEachType) (\case HoldsRePLForEachType -> Just (); RePLHoldingIntent _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RePLHolding' a1') => RePLHoldingIntentLike p f (RePLHolding' a1) x' a1 a1' where+  rePLHoldingIntent = prism RePLHoldingIntent (\case HoldsRePLForEachType -> Left HoldsRePLForEachType; RePLHoldingIntent x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRePLHolding' == id+-}+lawNamesRePLHolding' :: RePLHolding' a1 -> RePLHolding' a1+lawNamesRePLHolding' = \case+  HoldsRePLForEachType -> review holdsRePLForEachType ()+  RePLHoldingIntent x -> review rePLHoldingIntent x++-- | A valid @RePLHolding'@.+type RePLHolding = RePLHolding' (FormText 'Wide 185 5)++-- | An unfilled @RePLHolding'@: each field holds what has been entered, if anything, to be checked by @fillRePLHolding@.+type UnfilledRePLHolding = RePLHolding' (Maybe Text)++-- | The classes that a data type holding @RePLHolding'@ in one field, or in one or more constructors, inherits.+type InheritRePLHolding' s a1 =+  ( RePLHolding'Like (->) (Const ()) s s a1 a1+  , HoldsRePLForEachTypeLike (->) (Const ()) s s+  , RePLHoldingIntentLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritRePLHolding'@.+inheritRePLHolding' :: (InheritRePLHolding' s a1) => proxy s -> ()+inheritRePLHolding' _ = ()
+ src/ReOC/Data/RePLOrigin.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRePLOrigin') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RePLOrigin'@: how the chief remote pilot obtained their initial RePL (CASA Form 101-02, question 9).+module ReOC.Data.RePLOrigin (+  RePLOrigin' (..),+  RePLOrigin'Like (..),+  lawNamesRePLOrigin',+  RePLOrigin,+  UnfilledRePLOrigin,+  InheritRePLOrigin',+  inheritRePLOrigin',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.PplTheory (PplTheoryLike (..))+import ReOC.Name.RePLTrainingOrganisation (RePLTrainingOrganisationLike (..))+import ReOC.Primitive.FormText (WideLine)++-- | How the chief remote pilot obtained their initial RePL (CASA Form 101-02, question 9). Its valid form is @RePLOrigin@, and its unfilled form @UnfilledRePLOrigin@.+data RePLOrigin' a1+  = PPLTheory+  | RePLTraining a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @RePLOrigin'@.+class RePLOrigin'Like p f x x' a1 a1' | x -> a1 where+  rePLOrigin' ::+    Optic p f x x' (RePLOrigin' a1) (RePLOrigin' a1')++-- | Identity+instance (x' ~ RePLOrigin' a1') => RePLOrigin'Like p f (RePLOrigin' a1) x' a1 a1' where+  rePLOrigin' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ RePLOrigin' a1) => PplTheoryLike p f (RePLOrigin' a1) x' where+  pplTheory = prism' (\() -> PPLTheory) (\case PPLTheory -> Just (); RePLTraining _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RePLOrigin' a1') => RePLTrainingOrganisationLike p f (RePLOrigin' a1) x' a1 a1' where+  rePLTrainingOrganisation = prism RePLTraining (\case PPLTheory -> Left PPLTheory; RePLTraining x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRePLOrigin' == id+-}+lawNamesRePLOrigin' :: RePLOrigin' a1 -> RePLOrigin' a1+lawNamesRePLOrigin' = \case+  PPLTheory -> review pplTheory ()+  RePLTraining x -> review rePLTrainingOrganisation x++-- | A valid @RePLOrigin'@.+type RePLOrigin = RePLOrigin' WideLine++-- | An unfilled @RePLOrigin'@: each field holds what has been entered, if anything, to be checked by @fillRePLOrigin@.+type UnfilledRePLOrigin = RePLOrigin' (Maybe Text)++-- | The classes that a data type holding @RePLOrigin'@ in one field, or in one or more constructors, inherits.+type InheritRePLOrigin' s a1 =+  ( RePLOrigin'Like (->) (Const ()) s s a1 a1+  , PplTheoryLike (->) (Const ()) s s+  , RePLTrainingOrganisationLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritRePLOrigin'@.+inheritRePLOrigin' :: (InheritRePLOrigin' s a1) => proxy s -> ()+inheritRePLOrigin' _ = ()
+ src/ReOC/Data/RegulatoryAction.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRegulatoryAction') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RegulatoryAction'@: regulatory action taken against the applicant or nominated personnel (CASA Form 101-02, questions 25 and 26).+module ReOC.Data.RegulatoryAction (+  RegulatoryAction' (..),+  RegulatoryAction'Like (..),+  lawNamesRegulatoryAction',+  RegulatoryAction,+  UnfilledRegulatoryAction,+  mkUnfilledRegulatoryAction,+  InheritRegulatoryAction',+  inheritRegulatoryAction',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import Data.Time.Calendar (Day)+import ReOC.Name.ActionDate (ActionDateLike (..))+import ReOC.Name.ActionDetails (ActionDetailsLike (..))+import ReOC.Name.AuthorisationAction (AuthorisationActionLike (..))+import ReOC.Name.ReocSuspendedOrCancelled (ReocSuspendedOrCancelledLike (..))+import ReOC.Name.TypeOfAction (TypeOfActionLike (..))+import ReOC.Primitive.FormText (FormLine, FormLines)++-- | Regulatory action taken against the applicant or nominated personnel (CASA Form 101-02, questions 25 and 26). Its valid form is @RegulatoryAction@, and its unfilled form @UnfilledRegulatoryAction@.+data RegulatoryAction' a1 a2 a3 a4 a5 = RegulatoryAction' a1 a2 a3 a4 a5+  deriving (Eq, Ord, Show)++-- | The name of the data type @RegulatoryAction'@.+class RegulatoryAction'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' | x -> a1 a2 a3 a4 a5 where+  regulatoryAction' ::+    Optic p f x x' (RegulatoryAction' a1 a2 a3 a4 a5) (RegulatoryAction' a1' a2' a3' a4' a5')++-- | Identity+instance (x' ~ RegulatoryAction' a1' a2' a3' a4' a5') => RegulatoryAction'Like p f (RegulatoryAction' a1 a2 a3 a4 a5) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' where+  regulatoryAction' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ RegulatoryAction' a1' a2 a3 a4 a5) => ReocSuspendedOrCancelledLike p f (RegulatoryAction' a1 a2 a3 a4 a5) x' a1 a1' where+  reocSuspendedOrCancelled f (RegulatoryAction' x1 x2 x3 x4 x5) = fmap (\x1' -> RegulatoryAction' x1' x2 x3 x4 x5) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RegulatoryAction' a1 a2' a3 a4 a5) => TypeOfActionLike p f (RegulatoryAction' a1 a2 a3 a4 a5) x' a2 a2' where+  typeOfAction f (RegulatoryAction' x1 x2 x3 x4 x5) = fmap (\x2' -> RegulatoryAction' x1 x2' x3 x4 x5) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RegulatoryAction' a1 a2 a3' a4 a5) => AuthorisationActionLike p f (RegulatoryAction' a1 a2 a3 a4 a5) x' a3 a3' where+  authorisationAction f (RegulatoryAction' x1 x2 x3 x4 x5) = fmap (\x3' -> RegulatoryAction' x1 x2 x3' x4 x5) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RegulatoryAction' a1 a2 a3 a4' a5) => ActionDateLike p f (RegulatoryAction' a1 a2 a3 a4 a5) x' a4 a4' where+  actionDate f (RegulatoryAction' x1 x2 x3 x4 x5) = fmap (\x4' -> RegulatoryAction' x1 x2 x3 x4' x5) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RegulatoryAction' a1 a2 a3 a4 a5') => ActionDetailsLike p f (RegulatoryAction' a1 a2 a3 a4 a5) x' a5 a5' where+  actionDetails f (RegulatoryAction' x1 x2 x3 x4 x5) = fmap (RegulatoryAction' x1 x2 x3 x4) (f x5)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRegulatoryAction' == id+-}+lawNamesRegulatoryAction' :: RegulatoryAction' a1 a2 a3 a4 a5 -> RegulatoryAction' a1 a2 a3 a4 a5+lawNamesRegulatoryAction' s =+  RegulatoryAction'+    (view (cloneLens reocSuspendedOrCancelled) s)+    (view (cloneLens typeOfAction) s)+    (view (cloneLens authorisationAction) s)+    (view (cloneLens actionDate) s)+    (view (cloneLens actionDetails) s)++-- | A valid @RegulatoryAction'@.+type RegulatoryAction = RegulatoryAction' Bool FormLine FormLine Day (FormLines 4)++-- | An unfilled @RegulatoryAction'@: each field holds what has been entered, if anything, to be checked by @fillRegulatoryAction@.+type UnfilledRegulatoryAction = RegulatoryAction' (Maybe Bool) (Maybe Text) (Maybe Text) (Maybe Day) (Maybe Text)++-- | An unfilled @RegulatoryAction'@ with nothing entered.+mkUnfilledRegulatoryAction :: UnfilledRegulatoryAction+mkUnfilledRegulatoryAction =+  RegulatoryAction'+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @RegulatoryAction'@ in one field, or in one or more constructors, inherits.+type InheritRegulatoryAction' s a1 a2 a3 a4 a5 =+  ( RegulatoryAction'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5+  , ReocSuspendedOrCancelledLike (->) (Const ()) s s a1 a1+  , TypeOfActionLike (->) (Const ()) s s a2 a2+  , AuthorisationActionLike (->) (Const ()) s s a3 a3+  , ActionDateLike (->) (Const ()) s s a4 a4+  , ActionDetailsLike (->) (Const ()) s s a5 a5+  )++-- | Checks that a data type inherits every class of @InheritRegulatoryAction'@.+inheritRegulatoryAction' :: (InheritRegulatoryAction' s a1 a2 a3 a4 a5) => proxy s -> ()+inheritRegulatoryAction' _ = ()
+ src/ReOC/Data/RegulatoryHistory.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRegulatoryHistory') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RegulatoryHistory'@: whether regulatory action has been taken in the last 10 years (CASA Form 101-02, question 24).+module ReOC.Data.RegulatoryHistory (+  RegulatoryHistory' (..),+  RegulatoryHistory'Like (..),+  lawNamesRegulatoryHistory',+  RegulatoryHistory,+  UnfilledRegulatoryHistory,+  InheritRegulatoryHistory',+  inheritRegulatoryHistory',+) where++import Control.Lens (Choice, Optic, prism, prism', review)+import Data.Functor.Const (Const)+import ReOC.Data.RegulatoryAction (RegulatoryAction, UnfilledRegulatoryAction)+import ReOC.Name.NoRegulatoryAction (NoRegulatoryActionLike (..))+import ReOC.Name.RegulatoryActionTaken (RegulatoryActionTakenLike (..))++-- | Whether regulatory action has been taken in the last 10 years (CASA Form 101-02, question 24). Its valid form is @RegulatoryHistory@, and its unfilled form @UnfilledRegulatoryHistory@.+data RegulatoryHistory' a1+  = NoRegulatoryAction+  | RegulatoryActionTaken a1+  deriving (Eq, Ord, Show)++-- | The name of the data type @RegulatoryHistory'@.+class RegulatoryHistory'Like p f x x' a1 a1' | x -> a1 where+  regulatoryHistory' ::+    Optic p f x x' (RegulatoryHistory' a1) (RegulatoryHistory' a1')++-- | Identity+instance (x' ~ RegulatoryHistory' a1') => RegulatoryHistory'Like p f (RegulatoryHistory' a1) x' a1 a1' where+  regulatoryHistory' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ RegulatoryHistory' a1) => NoRegulatoryActionLike p f (RegulatoryHistory' a1) x' where+  noRegulatoryAction = prism' (\() -> NoRegulatoryAction) (\case NoRegulatoryAction -> Just (); RegulatoryActionTaken _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RegulatoryHistory' a1') => RegulatoryActionTakenLike p f (RegulatoryHistory' a1) x' a1 a1' where+  regulatoryActionTaken = prism RegulatoryActionTaken (\case NoRegulatoryAction -> Left NoRegulatoryAction; RegulatoryActionTaken x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRegulatoryHistory' == id+-}+lawNamesRegulatoryHistory' :: RegulatoryHistory' a1 -> RegulatoryHistory' a1+lawNamesRegulatoryHistory' = \case+  NoRegulatoryAction -> review noRegulatoryAction ()+  RegulatoryActionTaken x -> review regulatoryActionTaken x++-- | A valid @RegulatoryHistory'@.+type RegulatoryHistory = RegulatoryHistory' RegulatoryAction++-- | An unfilled @RegulatoryHistory'@: each field holds what has been entered, if anything, to be checked by @fillRegulatoryHistory@.+type UnfilledRegulatoryHistory = RegulatoryHistory' UnfilledRegulatoryAction++-- | The classes that a data type holding @RegulatoryHistory'@ in one field, or in one or more constructors, inherits.+type InheritRegulatoryHistory' s a1 =+  ( RegulatoryHistory'Like (->) (Const ()) s s a1 a1+  , NoRegulatoryActionLike (->) (Const ()) s s+  , RegulatoryActionTakenLike (->) (Const ()) s s a1 a1+  )++-- | Checks that a data type inherits every class of @InheritRegulatoryHistory'@.+inheritRegulatoryHistory' :: (InheritRegulatoryHistory' s a1) => proxy s -> ()+inheritRegulatoryHistory' _ = ()
+ src/ReOC/Data/RemotePilots.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRemotePilots) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RemotePilots@: whether the chief remote pilot is the operator’s only remote pilot.+module ReOC.Data.RemotePilots (+  RemotePilots (..),+  RemotePilotsLike (..),+  lawNamesRemotePilots,+  InheritRemotePilots,+  inheritRemotePilots,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.CrpIsOnlyRemotePilot (CrpIsOnlyRemotePilotLike (..))+import ReOC.Name.OtherRemotePilots (OtherRemotePilotsLike (..))++-- | Whether the chief remote pilot is the operator’s only remote pilot.+data RemotePilots+  = CRPIsOnlyRemotePilot+  | OtherRemotePilots+  deriving (Eq, Ord, Show)++-- | The name of the data type @RemotePilots@.+class RemotePilotsLike p f x x' where+  remotePilots ::+    Optic p f x x' RemotePilots RemotePilots++-- | Identity+instance (x' ~ RemotePilots) => RemotePilotsLike p f RemotePilots x' where+  remotePilots = id++-- | Prism+instance (Choice p, Applicative f, x' ~ RemotePilots) => CrpIsOnlyRemotePilotLike p f RemotePilots x' where+  crpIsOnlyRemotePilot = prism' (\() -> CRPIsOnlyRemotePilot) (\case CRPIsOnlyRemotePilot -> Just (); OtherRemotePilots -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RemotePilots) => OtherRemotePilotsLike p f RemotePilots x' where+  otherRemotePilots = prism' (\() -> OtherRemotePilots) (\case CRPIsOnlyRemotePilot -> Nothing; OtherRemotePilots -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRemotePilots == id+-}+lawNamesRemotePilots :: RemotePilots -> RemotePilots+lawNamesRemotePilots = \case+  CRPIsOnlyRemotePilot -> review crpIsOnlyRemotePilot ()+  OtherRemotePilots -> review otherRemotePilots ()++-- | The classes that a data type holding @RemotePilots@ in one field, or in one or more constructors, inherits.+type InheritRemotePilots s =+  ( RemotePilotsLike (->) (Const ()) s s+  , CrpIsOnlyRemotePilotLike (->) (Const ()) s s+  , OtherRemotePilotsLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritRemotePilots@.+inheritRemotePilots :: (InheritRemotePilots s) => proxy s -> ()+inheritRemotePilots _ = ()
+ src/ReOC/Data/Revision.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRevision') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Revision'@: a later entry in the amendment record of the operations manual. Its version and date follow from the entry before it: the version changes by its version change, and the date is a number of months later.+module ReOC.Data.Revision (+  Revision' (..),+  Revision'Like (..),+  lawNamesRevision',+  Revision,+  UnfilledRevision,+  mkUnfilledRevision,+  InheritRevision',+  inheritRevision',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import Numeric.Natural (Natural)+import ReOC.Data.VersionChange (VersionChange)+import ReOC.Name.Details (DetailsLike (..))+import ReOC.Name.Effective (EffectiveLike (..))+import ReOC.Name.MonthsAfter (MonthsAfterLike (..))+import ReOC.Name.Parts (PartsLike (..))+import ReOC.Name.VersionIncrement (VersionIncrementLike (..))+import ReOC.Primitive.Text1 (Text1)++-- | A later entry in the amendment record of the operations manual. Its version and date follow from the entry before it: the version changes by its version change, and the date is a number of months later. Its valid form is @Revision@, and its unfilled form @UnfilledRevision@.+data Revision' a1 a2 a3 a4 a5 = Revision' a1 a2 a3 a4 a5+  deriving (Eq, Ord, Show)++-- | The name of the data type @Revision'@.+class Revision'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' | x -> a1 a2 a3 a4 a5 where+  revision' ::+    Optic p f x x' (Revision' a1 a2 a3 a4 a5) (Revision' a1' a2' a3' a4' a5')++-- | Identity+instance (x' ~ Revision' a1' a2' a3' a4' a5') => Revision'Like p f (Revision' a1 a2 a3 a4 a5) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' where+  revision' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Revision' a1' a2 a3 a4 a5) => VersionIncrementLike p f (Revision' a1 a2 a3 a4 a5) x' a1 a1' where+  versionIncrement f (Revision' x1 x2 x3 x4 x5) = fmap (\x1' -> Revision' x1' x2 x3 x4 x5) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Revision' a1 a2' a3 a4 a5) => MonthsAfterLike p f (Revision' a1 a2 a3 a4 a5) x' a2 a2' where+  monthsAfter f (Revision' x1 x2 x3 x4 x5) = fmap (\x2' -> Revision' x1 x2' x3 x4 x5) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Revision' a1 a2 a3' a4 a5) => EffectiveLike p f (Revision' a1 a2 a3 a4 a5) x' a3 a3' where+  effective f (Revision' x1 x2 x3 x4 x5) = fmap (\x3' -> Revision' x1 x2 x3' x4 x5) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Revision' a1 a2 a3 a4' a5) => PartsLike p f (Revision' a1 a2 a3 a4 a5) x' a4 a4' where+  parts f (Revision' x1 x2 x3 x4 x5) = fmap (\x4' -> Revision' x1 x2 x3 x4' x5) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Revision' a1 a2 a3 a4 a5') => DetailsLike p f (Revision' a1 a2 a3 a4 a5) x' a5 a5' where+  details f (Revision' x1 x2 x3 x4 x5) = fmap (Revision' x1 x2 x3 x4) (f x5)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRevision' == id+-}+lawNamesRevision' :: Revision' a1 a2 a3 a4 a5 -> Revision' a1 a2 a3 a4 a5+lawNamesRevision' s =+  Revision'+    (view (cloneLens versionIncrement) s)+    (view (cloneLens monthsAfter) s)+    (view (cloneLens effective) s)+    (view (cloneLens parts) s)+    (view (cloneLens details) s)++-- | A valid @Revision'@.+type Revision = Revision' VersionChange Natural Text1 Text1 Text1++-- | An unfilled @Revision'@: each field holds what has been entered, if anything, to be checked by @fillRevision@.+type UnfilledRevision = Revision' (Maybe VersionChange) (Maybe Natural) (Maybe Text) (Maybe Text) (Maybe Text)++-- | An unfilled @Revision'@ with nothing entered.+mkUnfilledRevision :: UnfilledRevision+mkUnfilledRevision =+  Revision'+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @Revision'@ in one field, or in one or more constructors, inherits.+type InheritRevision' s a1 a2 a3 a4 a5 =+  ( Revision'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5+  , VersionIncrementLike (->) (Const ()) s s a1 a1+  , MonthsAfterLike (->) (Const ()) s s a2 a2+  , EffectiveLike (->) (Const ()) s s a3 a3+  , PartsLike (->) (Const ()) s s a4 a4+  , DetailsLike (->) (Const ()) s s a5 a5+  )++-- | Checks that a data type inherits every class of @InheritRevision'@.+inheritRevision' :: (InheritRevision' s a1 a2 a3 a4 a5) => proxy s -> ()+inheritRevision' _ = ()
+ src/ReOC/Data/Risk.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRisk') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Risk'@: an entry in the risk register (operations manual Appendix E). It is due for review a number of months, at most 12, after it is entered.+module ReOC.Data.Risk (+  Risk' (..),+  Risk'Like (..),+  lawNamesRisk',+  Risk,+  UnfilledRisk,+  mkUnfilledRisk,+  InheritRisk',+  inheritRisk',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.Text (Text)+import Data.Time.Calendar.Month (Month)+import Numeric.Natural (Natural)+import ReOC.Data.KeyPosition (KeyPosition)+import ReOC.Data.RiskAssessment (RiskAssessment, UnfilledRiskAssessment, mkUnfilledRiskAssessment)+import ReOC.Name.AdditionalControls (AdditionalControlsLike (..))+import ReOC.Name.DateEntered (DateEnteredLike (..))+import ReOC.Name.ExistingControls (ExistingControlsLike (..))+import ReOC.Name.Hazard (HazardLike (..))+import ReOC.Name.InitialRisk (InitialRiskLike (..))+import ReOC.Name.ResidualRisk (ResidualRiskLike (..))+import ReOC.Name.ReviewMonths (ReviewMonthsLike (..))+import ReOC.Name.RiskDescription (RiskDescriptionLike (..))+import ReOC.Name.RiskOwner (RiskOwnerLike (..))+import ReOC.Primitive.ReviewMonths (ReviewMonths)+import ReOC.Primitive.Text1 (Text1)++-- | An entry in the risk register (operations manual Appendix E). It is due for review a number of months, at most 12, after it is entered. Its valid form is @Risk@, and its unfilled form @UnfilledRisk@.+data Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9 = Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9+  deriving (Eq, Ord, Show)++-- | The name of the data type @Risk'@.+class Risk'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' a9 a9' | x -> a1 a2 a3 a4 a5 a6 a7 a8 a9 where+  risk' ::+    Optic p f x x' (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) (Risk' a1' a2' a3' a4' a5' a6' a7' a8' a9')++-- | Identity+instance (x' ~ Risk' a1' a2' a3' a4' a5' a6' a7' a8' a9') => Risk'Like p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' a9 a9' where+  risk' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Risk' a1' a2 a3 a4 a5 a6 a7 a8 a9) => HazardLike p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a1 a1' where+  hazard f (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) = fmap (\x1' -> Risk' x1' x2 x3 x4 x5 x6 x7 x8 x9) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Risk' a1 a2' a3 a4 a5 a6 a7 a8 a9) => RiskDescriptionLike p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a2 a2' where+  riskDescription f (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) = fmap (\x2' -> Risk' x1 x2' x3 x4 x5 x6 x7 x8 x9) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Risk' a1 a2 a3' a4 a5 a6 a7 a8 a9) => ExistingControlsLike p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a3 a3' where+  existingControls f (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) = fmap (\x3' -> Risk' x1 x2 x3' x4 x5 x6 x7 x8 x9) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Risk' a1 a2 a3 a4' a5 a6 a7 a8 a9) => InitialRiskLike p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a4 a4' where+  initialRisk f (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) = fmap (\x4' -> Risk' x1 x2 x3 x4' x5 x6 x7 x8 x9) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Risk' a1 a2 a3 a4 a5' a6 a7 a8 a9) => AdditionalControlsLike p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a5 a5' where+  additionalControls f (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) = fmap (\x5' -> Risk' x1 x2 x3 x4 x5' x6 x7 x8 x9) (f x5)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Risk' a1 a2 a3 a4 a5 a6' a7 a8 a9) => ResidualRiskLike p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a6 a6' where+  residualRisk f (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) = fmap (\x6' -> Risk' x1 x2 x3 x4 x5 x6' x7 x8 x9) (f x6)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Risk' a1 a2 a3 a4 a5 a6 a7' a8 a9) => RiskOwnerLike p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a7 a7' where+  riskOwner f (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) = fmap (\x7' -> Risk' x1 x2 x3 x4 x5 x6 x7' x8 x9) (f x7)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Risk' a1 a2 a3 a4 a5 a6 a7 a8' a9) => DateEnteredLike p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a8 a8' where+  dateEntered f (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) = fmap (\x8' -> Risk' x1 x2 x3 x4 x5 x6 x7 x8' x9) (f x8)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9') => ReviewMonthsLike p f (Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9) x' a9 a9' where+  reviewMonths f (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) = fmap (Risk' x1 x2 x3 x4 x5 x6 x7 x8) (f x9)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRisk' == id+-}+lawNamesRisk' :: Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9 -> Risk' a1 a2 a3 a4 a5 a6 a7 a8 a9+lawNamesRisk' s =+  Risk'+    (view (cloneLens hazard) s)+    (view (cloneLens riskDescription) s)+    (view (cloneLens existingControls) s)+    (view (cloneLens initialRisk) s)+    (view (cloneLens additionalControls) s)+    (view (cloneLens residualRisk) s)+    (view (cloneLens riskOwner) s)+    (view (cloneLens dateEntered) s)+    (view (cloneLens reviewMonths) s)++-- | A valid @Risk'@.+type Risk = Risk' Text1 Text1 Text1 RiskAssessment Text1 RiskAssessment KeyPosition Month ReviewMonths++-- | An unfilled @Risk'@: each field holds what has been entered, if anything, to be checked by @fillRisk@.+type UnfilledRisk = Risk' (Maybe Text) (Maybe Text) (Maybe Text) UnfilledRiskAssessment (Maybe Text) UnfilledRiskAssessment (Maybe KeyPosition) (Maybe Month) (Maybe Natural)++-- | An unfilled @Risk'@ with nothing entered.+mkUnfilledRisk :: UnfilledRisk+mkUnfilledRisk =+  Risk'+    Nothing+    Nothing+    Nothing+    mkUnfilledRiskAssessment+    Nothing+    mkUnfilledRiskAssessment+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @Risk'@ in one field, or in one or more constructors, inherits.+type InheritRisk' s a1 a2 a3 a4 a5 a6 a7 a8 a9 =+  ( Risk'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 a6 a6 a7 a7 a8 a8 a9 a9+  , HazardLike (->) (Const ()) s s a1 a1+  , RiskDescriptionLike (->) (Const ()) s s a2 a2+  , ExistingControlsLike (->) (Const ()) s s a3 a3+  , InitialRiskLike (->) (Const ()) s s a4 a4+  , AdditionalControlsLike (->) (Const ()) s s a5 a5+  , ResidualRiskLike (->) (Const ()) s s a6 a6+  , RiskOwnerLike (->) (Const ()) s s a7 a7+  , DateEnteredLike (->) (Const ()) s s a8 a8+  , ReviewMonthsLike (->) (Const ()) s s a9 a9+  )++-- | Checks that a data type inherits every class of @InheritRisk'@.+inheritRisk' :: (InheritRisk' s a1 a2 a3 a4 a5 a6 a7 a8 a9) => proxy s -> ()+inheritRisk' _ = ()
+ src/ReOC/Data/RiskAssessment.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRiskAssessment') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RiskAssessment'@: the likelihood and consequence of a risk. Its level is given by the risk rating matrix.+module ReOC.Data.RiskAssessment (+  RiskAssessment' (..),+  RiskAssessment'Like (..),+  lawNamesRiskAssessment',+  RiskAssessment,+  UnfilledRiskAssessment,+  mkUnfilledRiskAssessment,+  InheritRiskAssessment',+  inheritRiskAssessment',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import ReOC.Data.Consequence (Consequence)+import ReOC.Data.Likelihood (Likelihood)+import ReOC.Name.RiskConsequence (RiskConsequenceLike (..))+import ReOC.Name.RiskLikelihood (RiskLikelihoodLike (..))++-- | The likelihood and consequence of a risk. Its level is given by the risk rating matrix. Its valid form is @RiskAssessment@, and its unfilled form @UnfilledRiskAssessment@.+data RiskAssessment' a1 a2 = RiskAssessment' a1 a2+  deriving (Eq, Ord, Show)++-- | The name of the data type @RiskAssessment'@.+class RiskAssessment'Like p f x x' a1 a1' a2 a2' | x -> a1 a2 where+  riskAssessment' ::+    Optic p f x x' (RiskAssessment' a1 a2) (RiskAssessment' a1' a2')++-- | Identity+instance (x' ~ RiskAssessment' a1' a2') => RiskAssessment'Like p f (RiskAssessment' a1 a2) x' a1 a1' a2 a2' where+  riskAssessment' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ RiskAssessment' a1' a2) => RiskLikelihoodLike p f (RiskAssessment' a1 a2) x' a1 a1' where+  riskLikelihood f (RiskAssessment' x1 x2) = fmap (\x1' -> RiskAssessment' x1' x2) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ RiskAssessment' a1 a2') => RiskConsequenceLike p f (RiskAssessment' a1 a2) x' a2 a2' where+  riskConsequence f (RiskAssessment' x1 x2) = fmap (RiskAssessment' x1) (f x2)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRiskAssessment' == id+-}+lawNamesRiskAssessment' :: RiskAssessment' a1 a2 -> RiskAssessment' a1 a2+lawNamesRiskAssessment' s =+  RiskAssessment'+    (view (cloneLens riskLikelihood) s)+    (view (cloneLens riskConsequence) s)++-- | A valid @RiskAssessment'@.+type RiskAssessment = RiskAssessment' Likelihood Consequence++-- | An unfilled @RiskAssessment'@: each field holds what has been entered, if anything, to be checked by @fillRiskAssessment@.+type UnfilledRiskAssessment = RiskAssessment' (Maybe Likelihood) (Maybe Consequence)++-- | An unfilled @RiskAssessment'@ with nothing entered.+mkUnfilledRiskAssessment :: UnfilledRiskAssessment+mkUnfilledRiskAssessment =+  RiskAssessment'+    Nothing+    Nothing++-- | The classes that a data type holding @RiskAssessment'@ in one field, or in one or more constructors, inherits.+type InheritRiskAssessment' s a1 a2 =+  ( RiskAssessment'Like (->) (Const ()) s s a1 a1 a2 a2+  , RiskLikelihoodLike (->) (Const ()) s s a1 a1+  , RiskConsequenceLike (->) (Const ()) s s a2 a2+  )++-- | Checks that a data type inherits every class of @InheritRiskAssessment'@.+inheritRiskAssessment' :: (InheritRiskAssessment' s a1 a2) => proxy s -> ()+inheritRiskAssessment' _ = ()
+ src/ReOC/Data/RiskLevel.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritRiskLevel) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @RiskLevel@: the level of a risk, given by the risk rating matrix (operations manual Appendix E, Table 12).+module ReOC.Data.RiskLevel (+  RiskLevel (..),+  RiskLevelLike (..),+  lawNamesRiskLevel,+  InheritRiskLevel,+  inheritRiskLevel,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.High (HighLike (..))+import ReOC.Name.Low (LowLike (..))+import ReOC.Name.Medium (MediumLike (..))++-- | The level of a risk, given by the risk rating matrix (operations manual Appendix E, Table 12).+data RiskLevel+  = High+  | Medium+  | Low+  deriving (Eq, Ord, Show)++-- | The name of the data type @RiskLevel@.+class RiskLevelLike p f x x' where+  riskLevel ::+    Optic p f x x' RiskLevel RiskLevel++-- | Identity+instance (x' ~ RiskLevel) => RiskLevelLike p f RiskLevel x' where+  riskLevel = id++-- | Prism+instance (Choice p, Applicative f, x' ~ RiskLevel) => HighLike p f RiskLevel x' where+  high = prism' (\() -> High) (\case High -> Just (); Medium -> Nothing; Low -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RiskLevel) => MediumLike p f RiskLevel x' where+  medium = prism' (\() -> Medium) (\case High -> Nothing; Medium -> Just (); Low -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ RiskLevel) => LowLike p f RiskLevel x' where+  low = prism' (\() -> Low) (\case High -> Nothing; Medium -> Nothing; Low -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesRiskLevel == id+-}+lawNamesRiskLevel :: RiskLevel -> RiskLevel+lawNamesRiskLevel = \case+  High -> review high ()+  Medium -> review medium ()+  Low -> review low ()++-- | The classes that a data type holding @RiskLevel@ in one field, or in one or more constructors, inherits.+type InheritRiskLevel s =+  ( RiskLevelLike (->) (Const ()) s s+  , HighLike (->) (Const ()) s s+  , MediumLike (->) (Const ()) s s+  , LowLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritRiskLevel@.+inheritRiskLevel :: (InheritRiskLevel s) => proxy s -> ()+inheritRiskLevel _ = ()
+ src/ReOC/Data/Step.hs view
@@ -0,0 +1,1151 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritStep) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Step@: a step of the path from the whole form to a field: a field or constructor, or the index of an element of a list.+module ReOC.Data.Step (+  Step (..),+  StepLike (..),+  lawNamesStep,+  InheritStep,+  inheritStep,+  inheritsStep,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import Data.Proxy (Proxy (..))+import Numeric.Natural (Natural)+import ReOC.Data.Field (Field, FieldLike (..), inheritField)+import ReOC.Name.AddressPostcode (AddressPostcodeLike (..))+import ReOC.Name.AddressStateOrTerritory (AddressStateOrTerritoryLike (..))+import ReOC.Name.AddressStreetAddress (AddressStreetAddressLike (..))+import ReOC.Name.AddressSuburb (AddressSuburbLike (..))+import ReOC.Name.AircraftAssociatedEquipment (AircraftAssociatedEquipmentLike (..))+import ReOC.Name.AircraftSerialNumber (AircraftSerialNumberLike (..))+import ReOC.Name.ApplicationFormDeclaration (ApplicationFormDeclarationLike (..))+import ReOC.Name.ApplicationFormOtherDocuments (ApplicationFormOtherDocumentsLike (..))+import ReOC.Name.ApplicationFormPersonnelHistory (ApplicationFormPersonnelHistoryLike (..))+import ReOC.Name.ApplicationFormPrimaryContact (ApplicationFormPrimaryContactLike (..))+import ReOC.Name.ApplicationFormProceduresLibrary (ApplicationFormProceduresLibraryLike (..))+import ReOC.Name.ApplicationFormRegulatoryHistory (ApplicationFormRegulatoryHistoryLike (..))+import ReOC.Name.ApplicationFormSignature (ApplicationFormSignatureLike (..))+import ReOC.Name.ChiefExecutiveDirectorStatus (ChiefExecutiveDirectorStatusLike (..))+import ReOC.Name.ChiefExecutiveManagementExperience (ChiefExecutiveManagementExperienceLike (..))+import ReOC.Name.ChiefExecutiveNominee (ChiefExecutiveNomineeLike (..))+import ReOC.Name.ChiefPilotCrpNominee (ChiefPilotCrpNomineeLike (..))+import ReOC.Name.ChiefPilotOtherReOCRoles (ChiefPilotOtherReOCRolesLike (..))+import ReOC.Name.ChiefPilotRadio (ChiefPilotRadioLike (..))+import ReOC.Name.ChiefPilotRePLOrigin (ChiefPilotRePLOriginLike (..))+import ReOC.Name.ChiefPilotRpaHistory (ChiefPilotRpaHistoryLike (..))+import ReOC.Name.CompanyAbn (CompanyAbnLike (..))+import ReOC.Name.CompanyArn (CompanyArnLike (..))+import ReOC.Name.CompanyBusinessName (CompanyBusinessNameLike (..))+import ReOC.Name.CompanyCompanyName (CompanyCompanyNameLike (..))+import ReOC.Name.CompanyEmailAddress (CompanyEmailAddressLike (..))+import ReOC.Name.CompanyOperationalHeadquarters (CompanyOperationalHeadquartersLike (..))+import ReOC.Name.CompanyPhoneNumber (CompanyPhoneNumberLike (..))+import ReOC.Name.CompanyRegisteredOffice (CompanyRegisteredOfficeLike (..))+import ReOC.Name.ContactPersonEmailAddress (ContactPersonEmailAddressLike (..))+import ReOC.Name.ContactPersonFullName (ContactPersonFullNameLike (..))+import ReOC.Name.ContactPersonPhoneNumber (ContactPersonPhoneNumberLike (..))+import ReOC.Name.ContactPersonPosition (ContactPersonPositionLike (..))+import ReOC.Name.CriNomineeCriIsCEO (CriNomineeCriIsCEOLike (..))+import ReOC.Name.CriNomineeCriIsCRP (CriNomineeCriIsCRPLike (..))+import ReOC.Name.CriNomineeCriIsMC (CriNomineeCriIsMCLike (..))+import ReOC.Name.CriNomineeCriNominated (CriNomineeCriNominatedLike (..))+import ReOC.Name.CrpNomineeCrpIsCEO (CrpNomineeCrpIsCEOLike (..))+import ReOC.Name.CrpNomineeCrpNominated (CrpNomineeCrpNominatedLike (..))+import ReOC.Name.DeclarantFullName (DeclarantFullNameLike (..))+import ReOC.Name.DeclarantRole (DeclarantRoleLike (..))+import ReOC.Name.DeclarationDeclaredByAgent (DeclarationDeclaredByAgentLike (..))+import ReOC.Name.DeclarationDeclaredByCEO (DeclarationDeclaredByCEOLike (..))+import ReOC.Name.DeclarationDeclaredByOther (DeclarationDeclaredByOtherLike (..))+import ReOC.Name.DeclarationDeclaredByResponsibleManager (DeclarationDeclaredByResponsibleManagerLike (..))+import ReOC.Name.EmergencyActionActionSteps (EmergencyActionActionStepsLike (..))+import ReOC.Name.EmergencyActionResponse (EmergencyActionResponseLike (..))+import ReOC.Name.EmergencyActionSituation (EmergencyActionSituationLike (..))+import ReOC.Name.EquipmentEquipmentDescription (EquipmentEquipmentDescriptionLike (..))+import ReOC.Name.EquipmentSerialNumber (EquipmentSerialNumberLike (..))+import ReOC.Name.FirstIssueDetails (FirstIssueDetailsLike (..))+import ReOC.Name.FirstIssueEffective (FirstIssueEffectiveLike (..))+import ReOC.Name.FirstIssueIssueDate (FirstIssueIssueDateLike (..))+import ReOC.Name.FirstIssueParts (FirstIssuePartsLike (..))+import ReOC.Name.FirstIssueVersion (FirstIssueVersionLike (..))+import ReOC.Name.FlightTerminationFlightTerminationSystem (FlightTerminationFlightTerminationSystemLike (..))+import ReOC.Name.FlightTerminationNoFlightTerminationSystem (FlightTerminationNoFlightTerminationSystemLike (..))+import ReOC.Name.HistoryAnswerHistoryDisclosed (HistoryAnswerHistoryDisclosedLike (..))+import ReOC.Name.HistoryAnswerNoHistory (HistoryAnswerNoHistoryLike (..))+import ReOC.Name.KeyPersonnelChiefExecutive (KeyPersonnelChiefExecutiveLike (..))+import ReOC.Name.KeyPersonnelChiefPilot (KeyPersonnelChiefPilotLike (..))+import ReOC.Name.KeyPersonnelMcNominee (KeyPersonnelMcNomineeLike (..))+import ReOC.Name.McNomineeMcIsCEO (McNomineeMcIsCEOLike (..))+import ReOC.Name.McNomineeMcIsCRP (McNomineeMcIsCRPLike (..))+import ReOC.Name.McNomineeMcNominated (McNomineeMcNominatedLike (..))+import ReOC.Name.NomineeAviationExperience (NomineeAviationExperienceLike (..))+import ReOC.Name.NomineeOtherQualifications (NomineeOtherQualificationsLike (..))+import ReOC.Name.NomineePerson (NomineePersonLike (..))+import ReOC.Name.OperatedTypeAirframes (OperatedTypeAirframesLike (..))+import ReOC.Name.OperatedTypeRpaType (OperatedTypeRpaTypeLike (..))+import ReOC.Name.OperationalExperienceHasOperationalExperience (OperationalExperienceHasOperationalExperienceLike (..))+import ReOC.Name.OperationalExperienceOperationalExperienceIntent (OperationalExperienceOperationalExperienceIntentLike (..))+import ReOC.Name.OperationalExperienceOperationalExperienceNotApplicable (OperationalExperienceOperationalExperienceNotApplicableLike (..))+import ReOC.Name.OperationalHeadquartersAtRegisteredOffice (OperationalHeadquartersAtRegisteredOfficeLike (..))+import ReOC.Name.OperationalHeadquartersOperationalHeadquartersAddress (OperationalHeadquartersOperationalHeadquartersAddressLike (..))+import ReOC.Name.OperationsManualCrew (OperationsManualCrewLike (..))+import ReOC.Name.OperationsManualFirstIssue (OperationsManualFirstIssueLike (..))+import ReOC.Name.OperationsManualPilots (OperationsManualPilotsLike (..))+import ReOC.Name.OperationsManualPolicies (OperationsManualPoliciesLike (..))+import ReOC.Name.OperationsManualRevisions (OperationsManualRevisionsLike (..))+import ReOC.Name.OperationsManualRiskRegister (OperationsManualRiskRegisterLike (..))+import ReOC.Name.OperationsManualServices (OperationsManualServicesLike (..))+import ReOC.Name.OperatorCompany (OperatorCompanyLike (..))+import ReOC.Name.OperatorFleet (OperatorFleetLike (..))+import ReOC.Name.OperatorKeyPersonnel (OperatorKeyPersonnelLike (..))+import ReOC.Name.OtherReOCRolesNoOtherReOCRoles (OtherReOCRolesNoOtherReOCRolesLike (..))+import ReOC.Name.OtherReOCRolesOtherReOCRolesHeld (OtherReOCRolesOtherReOCRolesHeldLike (..))+import ReOC.Name.PersonArn (PersonArnLike (..))+import ReOC.Name.PersonEmailAddress (PersonEmailAddressLike (..))+import ReOC.Name.PersonFullName (PersonFullNameLike (..))+import ReOC.Name.PersonPhoneNumber (PersonPhoneNumberLike (..))+import ReOC.Name.PersonnelHistoryActionTaken (PersonnelHistoryActionTakenLike (..))+import ReOC.Name.PersonnelHistoryCriminalConviction (PersonnelHistoryCriminalConvictionLike (..))+import ReOC.Name.PersonnelHistorySuspensionPending (PersonnelHistorySuspensionPendingLike (..))+import ReOC.Name.PersonnelHistoryTransportLicenceRefused (PersonnelHistoryTransportLicenceRefusedLike (..))+import ReOC.Name.PoliciesAlcoholHours (PoliciesAlcoholHoursLike (..))+import ReOC.Name.PoliciesBackupFrequency (PoliciesBackupFrequencyLike (..))+import ReOC.Name.PoliciesBatteryReserve (PoliciesBatteryReserveLike (..))+import ReOC.Name.PoliciesCheckingMonths (PoliciesCheckingMonthsLike (..))+import ReOC.Name.PoliciesDutyHours (PoliciesDutyHoursLike (..))+import ReOC.Name.PoliciesIndependentReviewYears (PoliciesIndependentReviewYearsLike (..))+import ReOC.Name.PoliciesInspectionHours (PoliciesInspectionHoursLike (..))+import ReOC.Name.PoliciesInspectionMonths (PoliciesInspectionMonthsLike (..))+import ReOC.Name.PoliciesRecencyDays (PoliciesRecencyDaysLike (..))+import ReOC.Name.PoliciesRecencyFlights (PoliciesRecencyFlightsLike (..))+import ReOC.Name.PoliciesRefresherMonths (PoliciesRefresherMonthsLike (..))+import ReOC.Name.PoliciesRestHours (PoliciesRestHoursLike (..))+import ReOC.Name.PrimaryContactApplicantIsPrimaryContact (PrimaryContactApplicantIsPrimaryContactLike (..))+import ReOC.Name.PrimaryContactPrimaryContactPerson (PrimaryContactPrimaryContactPersonLike (..))+import ReOC.Name.ReOCApplicationForm (ReOCApplicationFormLike (..))+import ReOC.Name.ReOCMaybeTrainingMaterial (ReOCMaybeTrainingMaterialLike (..))+import ReOC.Name.ReOCOperationsManual (ReOCOperationsManualLike (..))+import ReOC.Name.ReOCOperator (ReOCOperatorLike (..))+import ReOC.Name.RePLHoldingHoldsRePLForEachType (RePLHoldingHoldsRePLForEachTypeLike (..))+import ReOC.Name.RePLHoldingRePLHoldingIntent (RePLHoldingRePLHoldingIntentLike (..))+import ReOC.Name.RePLOriginPplTheory (RePLOriginPplTheoryLike (..))+import ReOC.Name.RePLOriginRePLTrainingOrganisation (RePLOriginRePLTrainingOrganisationLike (..))+import ReOC.Name.RegulatoryActionActionDate (RegulatoryActionActionDateLike (..))+import ReOC.Name.RegulatoryActionActionDetails (RegulatoryActionActionDetailsLike (..))+import ReOC.Name.RegulatoryActionAuthorisationAction (RegulatoryActionAuthorisationActionLike (..))+import ReOC.Name.RegulatoryActionReocSuspendedOrCancelled (RegulatoryActionReocSuspendedOrCancelledLike (..))+import ReOC.Name.RegulatoryActionTypeOfAction (RegulatoryActionTypeOfActionLike (..))+import ReOC.Name.RegulatoryHistoryNoRegulatoryAction (RegulatoryHistoryNoRegulatoryActionLike (..))+import ReOC.Name.RegulatoryHistoryRegulatoryActionTaken (RegulatoryHistoryRegulatoryActionTakenLike (..))+import ReOC.Name.RevisionDetails (RevisionDetailsLike (..))+import ReOC.Name.RevisionEffective (RevisionEffectiveLike (..))+import ReOC.Name.RevisionMonthsAfter (RevisionMonthsAfterLike (..))+import ReOC.Name.RevisionParts (RevisionPartsLike (..))+import ReOC.Name.RevisionVersionIncrement (RevisionVersionIncrementLike (..))+import ReOC.Name.RiskAdditionalControls (RiskAdditionalControlsLike (..))+import ReOC.Name.RiskAssessmentRiskConsequence (RiskAssessmentRiskConsequenceLike (..))+import ReOC.Name.RiskAssessmentRiskLikelihood (RiskAssessmentRiskLikelihoodLike (..))+import ReOC.Name.RiskDateEntered (RiskDateEnteredLike (..))+import ReOC.Name.RiskExistingControls (RiskExistingControlsLike (..))+import ReOC.Name.RiskHazard (RiskHazardLike (..))+import ReOC.Name.RiskInitialRisk (RiskInitialRiskLike (..))+import ReOC.Name.RiskResidualRisk (RiskResidualRiskLike (..))+import ReOC.Name.RiskReviewMonths (RiskReviewMonthsLike (..))+import ReOC.Name.RiskRiskDescription (RiskRiskDescriptionLike (..))+import ReOC.Name.RiskRiskOwner (RiskRiskOwnerLike (..))+import ReOC.Name.RpaTypeBatteryWarnings (RpaTypeBatteryWarningsLike (..))+import ReOC.Name.RpaTypeBeforeFlight (RpaTypeBeforeFlightLike (..))+import ReOC.Name.RpaTypeCategory (RpaTypeCategoryLike (..))+import ReOC.Name.RpaTypeEmergencyActions (RpaTypeEmergencyActionsLike (..))+import ReOC.Name.RpaTypeFlightTermination (RpaTypeFlightTerminationLike (..))+import ReOC.Name.RpaTypeInspectionItems (RpaTypeInspectionItemsLike (..))+import ReOC.Name.RpaTypeMaximumGrossWeight (RpaTypeMaximumGrossWeightLike (..))+import ReOC.Name.RpaTypeRpaMake (RpaTypeRpaMakeLike (..))+import ReOC.Name.RpaTypeRpaModel (RpaTypeRpaModelLike (..))+import ReOC.Name.RpaTypeShortName (RpaTypeShortNameLike (..))+import ReOC.Name.RpaTypeTransponderCarriage (RpaTypeTransponderCarriageLike (..))+import ReOC.Name.RpaTypeUserManual (RpaTypeUserManualLike (..))+import ReOC.Name.StepIndex (StepIndexLike (..))+import ReOC.Name.TeachingQualificationTeachingQualificationHeld (TeachingQualificationTeachingQualificationHeldLike (..))+import ReOC.Name.TeachingQualificationTeachingQualificationIntent (TeachingQualificationTeachingQualificationIntentLike (..))+import ReOC.Name.TrainingArrangementsExam (TrainingArrangementsExamLike (..))+import ReOC.Name.TrainingArrangementsExamPassMark (TrainingArrangementsExamPassMarkLike (..))+import ReOC.Name.TrainingArrangementsExaminer (TrainingArrangementsExaminerLike (..))+import ReOC.Name.TrainingArrangementsMaxStudentsPerCourse (TrainingArrangementsMaxStudentsPerCourseLike (..))+import ReOC.Name.TrainingArrangementsMaxStudentsPerInstructor (TrainingArrangementsMaxStudentsPerInstructorLike (..))+import ReOC.Name.TrainingArrangementsPracticalAreas (TrainingArrangementsPracticalAreasLike (..))+import ReOC.Name.TrainingArrangementsSimulator (TrainingArrangementsSimulatorLike (..))+import ReOC.Name.TrainingArrangementsTakeover (TrainingArrangementsTakeoverLike (..))+import ReOC.Name.TrainingArrangementsTheory (TrainingArrangementsTheoryLike (..))+import ReOC.Name.TrainingArrangementsTheoryVenues (TrainingArrangementsTheoryVenuesLike (..))+import ReOC.Name.TrainingCourseComplexities (TrainingCourseComplexitiesLike (..))+import ReOC.Name.TrainingCourseCourseKind (TrainingCourseCourseKindLike (..))+import ReOC.Name.TrainingCourseTrainingRPA (TrainingCourseTrainingRPALike (..))+import ReOC.Name.TrainingMaterialCriNominee (TrainingMaterialCriNomineeLike (..))+import ReOC.Name.TrainingMaterialCriOtherReOCRoles (TrainingMaterialCriOtherReOCRolesLike (..))+import ReOC.Name.TrainingMaterialOperationalExperience (TrainingMaterialOperationalExperienceLike (..))+import ReOC.Name.TrainingMaterialRePLHolding (TrainingMaterialRePLHoldingLike (..))+import ReOC.Name.TrainingMaterialTeachingQualification (TrainingMaterialTeachingQualificationLike (..))+import ReOC.Name.TrainingMaterialTrainingArrangements (TrainingMaterialTrainingArrangementsLike (..))+import ReOC.Name.TrainingMaterialTrainingCourses (TrainingMaterialTrainingCoursesLike (..))+import ReOC.Name.VersionMajorVersion (VersionMajorVersionLike (..))+import ReOC.Name.VersionMinorVersion (VersionMinorVersionLike (..))+import ReOC.Name.WrittenSignatureWrittenSignatureFile (WrittenSignatureWrittenSignatureFileLike (..))+import ReOC.Name.WrittenSignatureWrittenSignatureImage (WrittenSignatureWrittenSignatureImageLike (..))++-- | A step of the path from the whole form to a field: a field or constructor, or the index of an element of a list.+data Step+  = StepField Field+  | StepIndex Natural+  deriving (Eq, Ord, Show)++-- | The name of the data type @Step@.+class StepLike p f x x' where+  step ::+    Optic p f x x' Step Step++-- | Identity+instance (x' ~ Step) => StepLike p f Step x' where+  step = id++-- | Prism+instance (Choice p, Applicative f, x' ~ Step) => FieldLike p f Step x' where+  field = prism' StepField (\case StepField x -> Just x; StepIndex _ -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Step) => StepIndexLike p f Step x' where+  stepIndex = prism' StepIndex (\case StepField _ -> Nothing; StepIndex x -> Just x)++-- | Prism: through @field@, then @personFullName@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PersonFullNameLike p f Step x' where+  personFullName = field . personFullName++-- | Prism: through @field@, then @personArn@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PersonArnLike p f Step x' where+  personArn = field . personArn++-- | Prism: through @field@, then @personPhoneNumber@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PersonPhoneNumberLike p f Step x' where+  personPhoneNumber = field . personPhoneNumber++-- | Prism: through @field@, then @personEmailAddress@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PersonEmailAddressLike p f Step x' where+  personEmailAddress = field . personEmailAddress++-- | Prism: through @field@, then @addressStreetAddress@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => AddressStreetAddressLike p f Step x' where+  addressStreetAddress = field . addressStreetAddress++-- | Prism: through @field@, then @addressSuburb@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => AddressSuburbLike p f Step x' where+  addressSuburb = field . addressSuburb++-- | Prism: through @field@, then @addressStateOrTerritory@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => AddressStateOrTerritoryLike p f Step x' where+  addressStateOrTerritory = field . addressStateOrTerritory++-- | Prism: through @field@, then @addressPostcode@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => AddressPostcodeLike p f Step x' where+  addressPostcode = field . addressPostcode++-- | Prism: through @field@, then @operationalHeadquartersAtRegisteredOffice@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationalHeadquartersAtRegisteredOfficeLike p f Step x' where+  operationalHeadquartersAtRegisteredOffice = field . operationalHeadquartersAtRegisteredOffice++-- | Prism: through @field@, then @operationalHeadquartersOperationalHeadquartersAddress@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationalHeadquartersOperationalHeadquartersAddressLike p f Step x' where+  operationalHeadquartersOperationalHeadquartersAddress = field . operationalHeadquartersOperationalHeadquartersAddress++-- | Prism: through @field@, then @companyCompanyName@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CompanyCompanyNameLike p f Step x' where+  companyCompanyName = field . companyCompanyName++-- | Prism: through @field@, then @companyAbn@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CompanyAbnLike p f Step x' where+  companyAbn = field . companyAbn++-- | Prism: through @field@, then @companyArn@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CompanyArnLike p f Step x' where+  companyArn = field . companyArn++-- | Prism: through @field@, then @companyRegisteredOffice@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CompanyRegisteredOfficeLike p f Step x' where+  companyRegisteredOffice = field . companyRegisteredOffice++-- | Prism: through @field@, then @companyOperationalHeadquarters@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CompanyOperationalHeadquartersLike p f Step x' where+  companyOperationalHeadquarters = field . companyOperationalHeadquarters++-- | Prism: through @field@, then @companyPhoneNumber@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CompanyPhoneNumberLike p f Step x' where+  companyPhoneNumber = field . companyPhoneNumber++-- | Prism: through @field@, then @companyEmailAddress@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CompanyEmailAddressLike p f Step x' where+  companyEmailAddress = field . companyEmailAddress++-- | Prism: through @field@, then @companyBusinessName@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CompanyBusinessNameLike p f Step x' where+  companyBusinessName = field . companyBusinessName++-- | Prism: through @field@, then @flightTerminationNoFlightTerminationSystem@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => FlightTerminationNoFlightTerminationSystemLike p f Step x' where+  flightTerminationNoFlightTerminationSystem = field . flightTerminationNoFlightTerminationSystem++-- | Prism: through @field@, then @flightTerminationFlightTerminationSystem@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => FlightTerminationFlightTerminationSystemLike p f Step x' where+  flightTerminationFlightTerminationSystem = field . flightTerminationFlightTerminationSystem++-- | Prism: through @field@, then @emergencyActionSituation@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => EmergencyActionSituationLike p f Step x' where+  emergencyActionSituation = field . emergencyActionSituation++-- | Prism: through @field@, then @emergencyActionResponse@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => EmergencyActionResponseLike p f Step x' where+  emergencyActionResponse = field . emergencyActionResponse++-- | Prism: through @field@, then @emergencyActionActionSteps@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => EmergencyActionActionStepsLike p f Step x' where+  emergencyActionActionSteps = field . emergencyActionActionSteps++-- | Prism: through @field@, then @rpaTypeRpaMake@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeRpaMakeLike p f Step x' where+  rpaTypeRpaMake = field . rpaTypeRpaMake++-- | Prism: through @field@, then @rpaTypeRpaModel@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeRpaModelLike p f Step x' where+  rpaTypeRpaModel = field . rpaTypeRpaModel++-- | Prism: through @field@, then @rpaTypeShortName@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeShortNameLike p f Step x' where+  rpaTypeShortName = field . rpaTypeShortName++-- | Prism: through @field@, then @rpaTypeCategory@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeCategoryLike p f Step x' where+  rpaTypeCategory = field . rpaTypeCategory++-- | Prism: through @field@, then @rpaTypeMaximumGrossWeight@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeMaximumGrossWeightLike p f Step x' where+  rpaTypeMaximumGrossWeight = field . rpaTypeMaximumGrossWeight++-- | Prism: through @field@, then @rpaTypeUserManual@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeUserManualLike p f Step x' where+  rpaTypeUserManual = field . rpaTypeUserManual++-- | Prism: through @field@, then @rpaTypeTransponderCarriage@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeTransponderCarriageLike p f Step x' where+  rpaTypeTransponderCarriage = field . rpaTypeTransponderCarriage++-- | Prism: through @field@, then @rpaTypeFlightTermination@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeFlightTerminationLike p f Step x' where+  rpaTypeFlightTermination = field . rpaTypeFlightTermination++-- | Prism: through @field@, then @rpaTypeInspectionItems@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeInspectionItemsLike p f Step x' where+  rpaTypeInspectionItems = field . rpaTypeInspectionItems++-- | Prism: through @field@, then @rpaTypeBeforeFlight@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeBeforeFlightLike p f Step x' where+  rpaTypeBeforeFlight = field . rpaTypeBeforeFlight++-- | Prism: through @field@, then @rpaTypeBatteryWarnings@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeBatteryWarningsLike p f Step x' where+  rpaTypeBatteryWarnings = field . rpaTypeBatteryWarnings++-- | Prism: through @field@, then @rpaTypeEmergencyActions@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RpaTypeEmergencyActionsLike p f Step x' where+  rpaTypeEmergencyActions = field . rpaTypeEmergencyActions++-- | Prism: through @field@, then @equipmentEquipmentDescription@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => EquipmentEquipmentDescriptionLike p f Step x' where+  equipmentEquipmentDescription = field . equipmentEquipmentDescription++-- | Prism: through @field@, then @equipmentSerialNumber@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => EquipmentSerialNumberLike p f Step x' where+  equipmentSerialNumber = field . equipmentSerialNumber++-- | Prism: through @field@, then @aircraftSerialNumber@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => AircraftSerialNumberLike p f Step x' where+  aircraftSerialNumber = field . aircraftSerialNumber++-- | Prism: through @field@, then @aircraftAssociatedEquipment@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => AircraftAssociatedEquipmentLike p f Step x' where+  aircraftAssociatedEquipment = field . aircraftAssociatedEquipment++-- | Prism: through @field@, then @operatedTypeRpaType@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperatedTypeRpaTypeLike p f Step x' where+  operatedTypeRpaType = field . operatedTypeRpaType++-- | Prism: through @field@, then @operatedTypeAirframes@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperatedTypeAirframesLike p f Step x' where+  operatedTypeAirframes = field . operatedTypeAirframes++-- | Prism: through @field@, then @rePLOriginPplTheory@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RePLOriginPplTheoryLike p f Step x' where+  rePLOriginPplTheory = field . rePLOriginPplTheory++-- | Prism: through @field@, then @rePLOriginRePLTrainingOrganisation@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RePLOriginRePLTrainingOrganisationLike p f Step x' where+  rePLOriginRePLTrainingOrganisation = field . rePLOriginRePLTrainingOrganisation++-- | Prism: through @field@, then @otherReOCRolesNoOtherReOCRoles@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OtherReOCRolesNoOtherReOCRolesLike p f Step x' where+  otherReOCRolesNoOtherReOCRoles = field . otherReOCRolesNoOtherReOCRoles++-- | Prism: through @field@, then @otherReOCRolesOtherReOCRolesHeld@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OtherReOCRolesOtherReOCRolesHeldLike p f Step x' where+  otherReOCRolesOtherReOCRolesHeld = field . otherReOCRolesOtherReOCRolesHeld++-- | Prism: through @field@, then @nomineePerson@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => NomineePersonLike p f Step x' where+  nomineePerson = field . nomineePerson++-- | Prism: through @field@, then @nomineeOtherQualifications@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => NomineeOtherQualificationsLike p f Step x' where+  nomineeOtherQualifications = field . nomineeOtherQualifications++-- | Prism: through @field@, then @nomineeAviationExperience@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => NomineeAviationExperienceLike p f Step x' where+  nomineeAviationExperience = field . nomineeAviationExperience++-- | Prism: through @field@, then @chiefExecutiveNominee@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ChiefExecutiveNomineeLike p f Step x' where+  chiefExecutiveNominee = field . chiefExecutiveNominee++-- | Prism: through @field@, then @chiefExecutiveDirectorStatus@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ChiefExecutiveDirectorStatusLike p f Step x' where+  chiefExecutiveDirectorStatus = field . chiefExecutiveDirectorStatus++-- | Prism: through @field@, then @chiefExecutiveManagementExperience@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ChiefExecutiveManagementExperienceLike p f Step x' where+  chiefExecutiveManagementExperience = field . chiefExecutiveManagementExperience++-- | Prism: through @field@, then @crpNomineeCrpIsCEO@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CrpNomineeCrpIsCEOLike p f Step x' where+  crpNomineeCrpIsCEO = field . crpNomineeCrpIsCEO++-- | Prism: through @field@, then @crpNomineeCrpNominated@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CrpNomineeCrpNominatedLike p f Step x' where+  crpNomineeCrpNominated = field . crpNomineeCrpNominated++-- | Prism: through @field@, then @chiefPilotCrpNominee@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ChiefPilotCrpNomineeLike p f Step x' where+  chiefPilotCrpNominee = field . chiefPilotCrpNominee++-- | Prism: through @field@, then @chiefPilotRePLOrigin@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ChiefPilotRePLOriginLike p f Step x' where+  chiefPilotRePLOrigin = field . chiefPilotRePLOrigin++-- | Prism: through @field@, then @chiefPilotRpaHistory@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ChiefPilotRpaHistoryLike p f Step x' where+  chiefPilotRpaHistory = field . chiefPilotRpaHistory++-- | Prism: through @field@, then @chiefPilotOtherReOCRoles@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ChiefPilotOtherReOCRolesLike p f Step x' where+  chiefPilotOtherReOCRoles = field . chiefPilotOtherReOCRoles++-- | Prism: through @field@, then @chiefPilotRadio@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ChiefPilotRadioLike p f Step x' where+  chiefPilotRadio = field . chiefPilotRadio++-- | Prism: through @field@, then @mcNomineeMcIsCEO@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => McNomineeMcIsCEOLike p f Step x' where+  mcNomineeMcIsCEO = field . mcNomineeMcIsCEO++-- | Prism: through @field@, then @mcNomineeMcIsCRP@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => McNomineeMcIsCRPLike p f Step x' where+  mcNomineeMcIsCRP = field . mcNomineeMcIsCRP++-- | Prism: through @field@, then @mcNomineeMcNominated@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => McNomineeMcNominatedLike p f Step x' where+  mcNomineeMcNominated = field . mcNomineeMcNominated++-- | Prism: through @field@, then @keyPersonnelChiefExecutive@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => KeyPersonnelChiefExecutiveLike p f Step x' where+  keyPersonnelChiefExecutive = field . keyPersonnelChiefExecutive++-- | Prism: through @field@, then @keyPersonnelChiefPilot@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => KeyPersonnelChiefPilotLike p f Step x' where+  keyPersonnelChiefPilot = field . keyPersonnelChiefPilot++-- | Prism: through @field@, then @keyPersonnelMcNominee@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => KeyPersonnelMcNomineeLike p f Step x' where+  keyPersonnelMcNominee = field . keyPersonnelMcNominee++-- | Prism: through @field@, then @operatorCompany@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperatorCompanyLike p f Step x' where+  operatorCompany = field . operatorCompany++-- | Prism: through @field@, then @operatorKeyPersonnel@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperatorKeyPersonnelLike p f Step x' where+  operatorKeyPersonnel = field . operatorKeyPersonnel++-- | Prism: through @field@, then @operatorFleet@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperatorFleetLike p f Step x' where+  operatorFleet = field . operatorFleet++-- | Prism: through @field@, then @contactPersonFullName@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ContactPersonFullNameLike p f Step x' where+  contactPersonFullName = field . contactPersonFullName++-- | Prism: through @field@, then @contactPersonPosition@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ContactPersonPositionLike p f Step x' where+  contactPersonPosition = field . contactPersonPosition++-- | Prism: through @field@, then @contactPersonPhoneNumber@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ContactPersonPhoneNumberLike p f Step x' where+  contactPersonPhoneNumber = field . contactPersonPhoneNumber++-- | Prism: through @field@, then @contactPersonEmailAddress@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ContactPersonEmailAddressLike p f Step x' where+  contactPersonEmailAddress = field . contactPersonEmailAddress++-- | Prism: through @field@, then @primaryContactApplicantIsPrimaryContact@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PrimaryContactApplicantIsPrimaryContactLike p f Step x' where+  primaryContactApplicantIsPrimaryContact = field . primaryContactApplicantIsPrimaryContact++-- | Prism: through @field@, then @primaryContactPrimaryContactPerson@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PrimaryContactPrimaryContactPersonLike p f Step x' where+  primaryContactPrimaryContactPerson = field . primaryContactPrimaryContactPerson++-- | Prism: through @field@, then @historyAnswerNoHistory@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => HistoryAnswerNoHistoryLike p f Step x' where+  historyAnswerNoHistory = field . historyAnswerNoHistory++-- | Prism: through @field@, then @historyAnswerHistoryDisclosed@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => HistoryAnswerHistoryDisclosedLike p f Step x' where+  historyAnswerHistoryDisclosed = field . historyAnswerHistoryDisclosed++-- | Prism: through @field@, then @personnelHistoryActionTaken@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PersonnelHistoryActionTakenLike p f Step x' where+  personnelHistoryActionTaken = field . personnelHistoryActionTaken++-- | Prism: through @field@, then @personnelHistoryTransportLicenceRefused@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PersonnelHistoryTransportLicenceRefusedLike p f Step x' where+  personnelHistoryTransportLicenceRefused = field . personnelHistoryTransportLicenceRefused++-- | Prism: through @field@, then @personnelHistoryCriminalConviction@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PersonnelHistoryCriminalConvictionLike p f Step x' where+  personnelHistoryCriminalConviction = field . personnelHistoryCriminalConviction++-- | Prism: through @field@, then @personnelHistorySuspensionPending@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PersonnelHistorySuspensionPendingLike p f Step x' where+  personnelHistorySuspensionPending = field . personnelHistorySuspensionPending++-- | Prism: through @field@, then @regulatoryActionReocSuspendedOrCancelled@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RegulatoryActionReocSuspendedOrCancelledLike p f Step x' where+  regulatoryActionReocSuspendedOrCancelled = field . regulatoryActionReocSuspendedOrCancelled++-- | Prism: through @field@, then @regulatoryActionTypeOfAction@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RegulatoryActionTypeOfActionLike p f Step x' where+  regulatoryActionTypeOfAction = field . regulatoryActionTypeOfAction++-- | Prism: through @field@, then @regulatoryActionAuthorisationAction@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RegulatoryActionAuthorisationActionLike p f Step x' where+  regulatoryActionAuthorisationAction = field . regulatoryActionAuthorisationAction++-- | Prism: through @field@, then @regulatoryActionActionDate@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RegulatoryActionActionDateLike p f Step x' where+  regulatoryActionActionDate = field . regulatoryActionActionDate++-- | Prism: through @field@, then @regulatoryActionActionDetails@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RegulatoryActionActionDetailsLike p f Step x' where+  regulatoryActionActionDetails = field . regulatoryActionActionDetails++-- | Prism: through @field@, then @regulatoryHistoryNoRegulatoryAction@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RegulatoryHistoryNoRegulatoryActionLike p f Step x' where+  regulatoryHistoryNoRegulatoryAction = field . regulatoryHistoryNoRegulatoryAction++-- | Prism: through @field@, then @regulatoryHistoryRegulatoryActionTaken@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RegulatoryHistoryRegulatoryActionTakenLike p f Step x' where+  regulatoryHistoryRegulatoryActionTaken = field . regulatoryHistoryRegulatoryActionTaken++-- | Prism: through @field@, then @declarantFullName@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => DeclarantFullNameLike p f Step x' where+  declarantFullName = field . declarantFullName++-- | Prism: through @field@, then @declarantRole@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => DeclarantRoleLike p f Step x' where+  declarantRole = field . declarantRole++-- | Prism: through @field@, then @declarationDeclaredByCEO@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => DeclarationDeclaredByCEOLike p f Step x' where+  declarationDeclaredByCEO = field . declarationDeclaredByCEO++-- | Prism: through @field@, then @declarationDeclaredByResponsibleManager@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => DeclarationDeclaredByResponsibleManagerLike p f Step x' where+  declarationDeclaredByResponsibleManager = field . declarationDeclaredByResponsibleManager++-- | Prism: through @field@, then @declarationDeclaredByAgent@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => DeclarationDeclaredByAgentLike p f Step x' where+  declarationDeclaredByAgent = field . declarationDeclaredByAgent++-- | Prism: through @field@, then @declarationDeclaredByOther@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => DeclarationDeclaredByOtherLike p f Step x' where+  declarationDeclaredByOther = field . declarationDeclaredByOther++-- | Prism: through @field@, then @writtenSignatureWrittenSignatureImage@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => WrittenSignatureWrittenSignatureImageLike p f Step x' where+  writtenSignatureWrittenSignatureImage = field . writtenSignatureWrittenSignatureImage++-- | Prism: through @field@, then @writtenSignatureWrittenSignatureFile@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => WrittenSignatureWrittenSignatureFileLike p f Step x' where+  writtenSignatureWrittenSignatureFile = field . writtenSignatureWrittenSignatureFile++-- | Prism: through @field@, then @applicationFormPrimaryContact@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ApplicationFormPrimaryContactLike p f Step x' where+  applicationFormPrimaryContact = field . applicationFormPrimaryContact++-- | Prism: through @field@, then @applicationFormPersonnelHistory@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ApplicationFormPersonnelHistoryLike p f Step x' where+  applicationFormPersonnelHistory = field . applicationFormPersonnelHistory++-- | Prism: through @field@, then @applicationFormRegulatoryHistory@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ApplicationFormRegulatoryHistoryLike p f Step x' where+  applicationFormRegulatoryHistory = field . applicationFormRegulatoryHistory++-- | Prism: through @field@, then @applicationFormProceduresLibrary@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ApplicationFormProceduresLibraryLike p f Step x' where+  applicationFormProceduresLibrary = field . applicationFormProceduresLibrary++-- | Prism: through @field@, then @applicationFormOtherDocuments@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ApplicationFormOtherDocumentsLike p f Step x' where+  applicationFormOtherDocuments = field . applicationFormOtherDocuments++-- | Prism: through @field@, then @applicationFormDeclaration@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ApplicationFormDeclarationLike p f Step x' where+  applicationFormDeclaration = field . applicationFormDeclaration++-- | Prism: through @field@, then @applicationFormSignature@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ApplicationFormSignatureLike p f Step x' where+  applicationFormSignature = field . applicationFormSignature++-- | Prism: through @field@, then @versionMajorVersion@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => VersionMajorVersionLike p f Step x' where+  versionMajorVersion = field . versionMajorVersion++-- | Prism: through @field@, then @versionMinorVersion@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => VersionMinorVersionLike p f Step x' where+  versionMinorVersion = field . versionMinorVersion++-- | Prism: through @field@, then @firstIssueVersion@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => FirstIssueVersionLike p f Step x' where+  firstIssueVersion = field . firstIssueVersion++-- | Prism: through @field@, then @firstIssueIssueDate@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => FirstIssueIssueDateLike p f Step x' where+  firstIssueIssueDate = field . firstIssueIssueDate++-- | Prism: through @field@, then @firstIssueEffective@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => FirstIssueEffectiveLike p f Step x' where+  firstIssueEffective = field . firstIssueEffective++-- | Prism: through @field@, then @firstIssueParts@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => FirstIssuePartsLike p f Step x' where+  firstIssueParts = field . firstIssueParts++-- | Prism: through @field@, then @firstIssueDetails@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => FirstIssueDetailsLike p f Step x' where+  firstIssueDetails = field . firstIssueDetails++-- | Prism: through @field@, then @revisionVersionIncrement@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RevisionVersionIncrementLike p f Step x' where+  revisionVersionIncrement = field . revisionVersionIncrement++-- | Prism: through @field@, then @revisionMonthsAfter@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RevisionMonthsAfterLike p f Step x' where+  revisionMonthsAfter = field . revisionMonthsAfter++-- | Prism: through @field@, then @revisionEffective@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RevisionEffectiveLike p f Step x' where+  revisionEffective = field . revisionEffective++-- | Prism: through @field@, then @revisionParts@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RevisionPartsLike p f Step x' where+  revisionParts = field . revisionParts++-- | Prism: through @field@, then @revisionDetails@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RevisionDetailsLike p f Step x' where+  revisionDetails = field . revisionDetails++-- | Prism: through @field@, then @policiesRecencyFlights@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesRecencyFlightsLike p f Step x' where+  policiesRecencyFlights = field . policiesRecencyFlights++-- | Prism: through @field@, then @policiesRecencyDays@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesRecencyDaysLike p f Step x' where+  policiesRecencyDays = field . policiesRecencyDays++-- | Prism: through @field@, then @policiesRefresherMonths@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesRefresherMonthsLike p f Step x' where+  policiesRefresherMonths = field . policiesRefresherMonths++-- | Prism: through @field@, then @policiesAlcoholHours@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesAlcoholHoursLike p f Step x' where+  policiesAlcoholHours = field . policiesAlcoholHours++-- | Prism: through @field@, then @policiesRestHours@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesRestHoursLike p f Step x' where+  policiesRestHours = field . policiesRestHours++-- | Prism: through @field@, then @policiesDutyHours@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesDutyHoursLike p f Step x' where+  policiesDutyHours = field . policiesDutyHours++-- | Prism: through @field@, then @policiesInspectionMonths@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesInspectionMonthsLike p f Step x' where+  policiesInspectionMonths = field . policiesInspectionMonths++-- | Prism: through @field@, then @policiesInspectionHours@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesInspectionHoursLike p f Step x' where+  policiesInspectionHours = field . policiesInspectionHours++-- | Prism: through @field@, then @policiesBatteryReserve@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesBatteryReserveLike p f Step x' where+  policiesBatteryReserve = field . policiesBatteryReserve++-- | Prism: through @field@, then @policiesBackupFrequency@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesBackupFrequencyLike p f Step x' where+  policiesBackupFrequency = field . policiesBackupFrequency++-- | Prism: through @field@, then @policiesIndependentReviewYears@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesIndependentReviewYearsLike p f Step x' where+  policiesIndependentReviewYears = field . policiesIndependentReviewYears++-- | Prism: through @field@, then @policiesCheckingMonths@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => PoliciesCheckingMonthsLike p f Step x' where+  policiesCheckingMonths = field . policiesCheckingMonths++-- | Prism: through @field@, then @riskAssessmentRiskLikelihood@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskAssessmentRiskLikelihoodLike p f Step x' where+  riskAssessmentRiskLikelihood = field . riskAssessmentRiskLikelihood++-- | Prism: through @field@, then @riskAssessmentRiskConsequence@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskAssessmentRiskConsequenceLike p f Step x' where+  riskAssessmentRiskConsequence = field . riskAssessmentRiskConsequence++-- | Prism: through @field@, then @riskHazard@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskHazardLike p f Step x' where+  riskHazard = field . riskHazard++-- | Prism: through @field@, then @riskRiskDescription@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskRiskDescriptionLike p f Step x' where+  riskRiskDescription = field . riskRiskDescription++-- | Prism: through @field@, then @riskExistingControls@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskExistingControlsLike p f Step x' where+  riskExistingControls = field . riskExistingControls++-- | Prism: through @field@, then @riskInitialRisk@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskInitialRiskLike p f Step x' where+  riskInitialRisk = field . riskInitialRisk++-- | Prism: through @field@, then @riskAdditionalControls@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskAdditionalControlsLike p f Step x' where+  riskAdditionalControls = field . riskAdditionalControls++-- | Prism: through @field@, then @riskResidualRisk@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskResidualRiskLike p f Step x' where+  riskResidualRisk = field . riskResidualRisk++-- | Prism: through @field@, then @riskRiskOwner@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskRiskOwnerLike p f Step x' where+  riskRiskOwner = field . riskRiskOwner++-- | Prism: through @field@, then @riskDateEntered@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskDateEnteredLike p f Step x' where+  riskDateEntered = field . riskDateEntered++-- | Prism: through @field@, then @riskReviewMonths@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RiskReviewMonthsLike p f Step x' where+  riskReviewMonths = field . riskReviewMonths++-- | Prism: through @field@, then @operationsManualFirstIssue@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationsManualFirstIssueLike p f Step x' where+  operationsManualFirstIssue = field . operationsManualFirstIssue++-- | Prism: through @field@, then @operationsManualRevisions@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationsManualRevisionsLike p f Step x' where+  operationsManualRevisions = field . operationsManualRevisions++-- | Prism: through @field@, then @operationsManualServices@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationsManualServicesLike p f Step x' where+  operationsManualServices = field . operationsManualServices++-- | Prism: through @field@, then @operationsManualPolicies@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationsManualPoliciesLike p f Step x' where+  operationsManualPolicies = field . operationsManualPolicies++-- | Prism: through @field@, then @operationsManualRiskRegister@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationsManualRiskRegisterLike p f Step x' where+  operationsManualRiskRegister = field . operationsManualRiskRegister++-- | Prism: through @field@, then @operationsManualCrew@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationsManualCrewLike p f Step x' where+  operationsManualCrew = field . operationsManualCrew++-- | Prism: through @field@, then @operationsManualPilots@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationsManualPilotsLike p f Step x' where+  operationsManualPilots = field . operationsManualPilots++-- | Prism: through @field@, then @criNomineeCriIsCEO@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CriNomineeCriIsCEOLike p f Step x' where+  criNomineeCriIsCEO = field . criNomineeCriIsCEO++-- | Prism: through @field@, then @criNomineeCriIsCRP@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CriNomineeCriIsCRPLike p f Step x' where+  criNomineeCriIsCRP = field . criNomineeCriIsCRP++-- | Prism: through @field@, then @criNomineeCriIsMC@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CriNomineeCriIsMCLike p f Step x' where+  criNomineeCriIsMC = field . criNomineeCriIsMC++-- | Prism: through @field@, then @criNomineeCriNominated@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => CriNomineeCriNominatedLike p f Step x' where+  criNomineeCriNominated = field . criNomineeCriNominated++-- | Prism: through @field@, then @rePLHoldingHoldsRePLForEachType@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RePLHoldingHoldsRePLForEachTypeLike p f Step x' where+  rePLHoldingHoldsRePLForEachType = field . rePLHoldingHoldsRePLForEachType++-- | Prism: through @field@, then @rePLHoldingRePLHoldingIntent@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => RePLHoldingRePLHoldingIntentLike p f Step x' where+  rePLHoldingRePLHoldingIntent = field . rePLHoldingRePLHoldingIntent++-- | Prism: through @field@, then @teachingQualificationTeachingQualificationHeld@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TeachingQualificationTeachingQualificationHeldLike p f Step x' where+  teachingQualificationTeachingQualificationHeld = field . teachingQualificationTeachingQualificationHeld++-- | Prism: through @field@, then @teachingQualificationTeachingQualificationIntent@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TeachingQualificationTeachingQualificationIntentLike p f Step x' where+  teachingQualificationTeachingQualificationIntent = field . teachingQualificationTeachingQualificationIntent++-- | Prism: through @field@, then @operationalExperienceHasOperationalExperience@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationalExperienceHasOperationalExperienceLike p f Step x' where+  operationalExperienceHasOperationalExperience = field . operationalExperienceHasOperationalExperience++-- | Prism: through @field@, then @operationalExperienceOperationalExperienceIntent@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationalExperienceOperationalExperienceIntentLike p f Step x' where+  operationalExperienceOperationalExperienceIntent = field . operationalExperienceOperationalExperienceIntent++-- | Prism: through @field@, then @operationalExperienceOperationalExperienceNotApplicable@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => OperationalExperienceOperationalExperienceNotApplicableLike p f Step x' where+  operationalExperienceOperationalExperienceNotApplicable = field . operationalExperienceOperationalExperienceNotApplicable++-- | Prism: through @field@, then @trainingCourseCourseKind@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingCourseCourseKindLike p f Step x' where+  trainingCourseCourseKind = field . trainingCourseCourseKind++-- | Prism: through @field@, then @trainingCourseTrainingRPA@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingCourseTrainingRPALike p f Step x' where+  trainingCourseTrainingRPA = field . trainingCourseTrainingRPA++-- | Prism: through @field@, then @trainingCourseComplexities@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingCourseComplexitiesLike p f Step x' where+  trainingCourseComplexities = field . trainingCourseComplexities++-- | Prism: through @field@, then @trainingArrangementsTheoryVenues@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsTheoryVenuesLike p f Step x' where+  trainingArrangementsTheoryVenues = field . trainingArrangementsTheoryVenues++-- | Prism: through @field@, then @trainingArrangementsPracticalAreas@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsPracticalAreasLike p f Step x' where+  trainingArrangementsPracticalAreas = field . trainingArrangementsPracticalAreas++-- | Prism: through @field@, then @trainingArrangementsMaxStudentsPerCourse@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsMaxStudentsPerCourseLike p f Step x' where+  trainingArrangementsMaxStudentsPerCourse = field . trainingArrangementsMaxStudentsPerCourse++-- | Prism: through @field@, then @trainingArrangementsMaxStudentsPerInstructor@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsMaxStudentsPerInstructorLike p f Step x' where+  trainingArrangementsMaxStudentsPerInstructor = field . trainingArrangementsMaxStudentsPerInstructor++-- | Prism: through @field@, then @trainingArrangementsTakeover@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsTakeoverLike p f Step x' where+  trainingArrangementsTakeover = field . trainingArrangementsTakeover++-- | Prism: through @field@, then @trainingArrangementsTheory@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsTheoryLike p f Step x' where+  trainingArrangementsTheory = field . trainingArrangementsTheory++-- | Prism: through @field@, then @trainingArrangementsExam@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsExamLike p f Step x' where+  trainingArrangementsExam = field . trainingArrangementsExam++-- | Prism: through @field@, then @trainingArrangementsExamPassMark@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsExamPassMarkLike p f Step x' where+  trainingArrangementsExamPassMark = field . trainingArrangementsExamPassMark++-- | Prism: through @field@, then @trainingArrangementsExaminer@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsExaminerLike p f Step x' where+  trainingArrangementsExaminer = field . trainingArrangementsExaminer++-- | Prism: through @field@, then @trainingArrangementsSimulator@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingArrangementsSimulatorLike p f Step x' where+  trainingArrangementsSimulator = field . trainingArrangementsSimulator++-- | Prism: through @field@, then @trainingMaterialCriNominee@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingMaterialCriNomineeLike p f Step x' where+  trainingMaterialCriNominee = field . trainingMaterialCriNominee++-- | Prism: through @field@, then @trainingMaterialRePLHolding@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingMaterialRePLHoldingLike p f Step x' where+  trainingMaterialRePLHolding = field . trainingMaterialRePLHolding++-- | Prism: through @field@, then @trainingMaterialTeachingQualification@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingMaterialTeachingQualificationLike p f Step x' where+  trainingMaterialTeachingQualification = field . trainingMaterialTeachingQualification++-- | Prism: through @field@, then @trainingMaterialOperationalExperience@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingMaterialOperationalExperienceLike p f Step x' where+  trainingMaterialOperationalExperience = field . trainingMaterialOperationalExperience++-- | Prism: through @field@, then @trainingMaterialCriOtherReOCRoles@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingMaterialCriOtherReOCRolesLike p f Step x' where+  trainingMaterialCriOtherReOCRoles = field . trainingMaterialCriOtherReOCRoles++-- | Prism: through @field@, then @trainingMaterialTrainingCourses@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingMaterialTrainingCoursesLike p f Step x' where+  trainingMaterialTrainingCourses = field . trainingMaterialTrainingCourses++-- | Prism: through @field@, then @trainingMaterialTrainingArrangements@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => TrainingMaterialTrainingArrangementsLike p f Step x' where+  trainingMaterialTrainingArrangements = field . trainingMaterialTrainingArrangements++-- | Prism: through @field@, then @reOCOperator@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ReOCOperatorLike p f Step x' where+  reOCOperator = field . reOCOperator++-- | Prism: through @field@, then @reOCApplicationForm@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ReOCApplicationFormLike p f Step x' where+  reOCApplicationForm = field . reOCApplicationForm++-- | Prism: through @field@, then @reOCOperationsManual@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ReOCOperationsManualLike p f Step x' where+  reOCOperationsManual = field . reOCOperationsManual++-- | Prism: through @field@, then @reOCMaybeTrainingMaterial@ of @Field@.+instance (Choice p, Applicative f, x' ~ Step) => ReOCMaybeTrainingMaterialLike p f Step x' where+  reOCMaybeTrainingMaterial = field . reOCMaybeTrainingMaterial++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesStep == id+-}+lawNamesStep :: Step -> Step+lawNamesStep = \case+  StepField x -> review field x+  StepIndex x -> review stepIndex x++-- | The classes that a data type holding @Step@ in one field, or in one or more constructors, inherits.+type InheritStep s =+  ( ( StepLike (->) (Const ()) s s+    , FieldLike (->) (Const ()) s s+    , StepIndexLike (->) (Const ()) s s+    , PersonFullNameLike (->) (Const ()) s s+    , PersonArnLike (->) (Const ()) s s+    , PersonPhoneNumberLike (->) (Const ()) s s+    , PersonEmailAddressLike (->) (Const ()) s s+    , AddressStreetAddressLike (->) (Const ()) s s+    , AddressSuburbLike (->) (Const ()) s s+    , AddressStateOrTerritoryLike (->) (Const ()) s s+    , AddressPostcodeLike (->) (Const ()) s s+    , OperationalHeadquartersAtRegisteredOfficeLike (->) (Const ()) s s+    , OperationalHeadquartersOperationalHeadquartersAddressLike (->) (Const ()) s s+    , CompanyCompanyNameLike (->) (Const ()) s s+    , CompanyAbnLike (->) (Const ()) s s+    , CompanyArnLike (->) (Const ()) s s+    , CompanyRegisteredOfficeLike (->) (Const ()) s s+    , CompanyOperationalHeadquartersLike (->) (Const ()) s s+    , CompanyPhoneNumberLike (->) (Const ()) s s+    , CompanyEmailAddressLike (->) (Const ()) s s+    , CompanyBusinessNameLike (->) (Const ()) s s+    , FlightTerminationNoFlightTerminationSystemLike (->) (Const ()) s s+    , FlightTerminationFlightTerminationSystemLike (->) (Const ()) s s+    , EmergencyActionSituationLike (->) (Const ()) s s+    , EmergencyActionResponseLike (->) (Const ()) s s+    , EmergencyActionActionStepsLike (->) (Const ()) s s+    , RpaTypeRpaMakeLike (->) (Const ()) s s+    , RpaTypeRpaModelLike (->) (Const ()) s s+    , RpaTypeShortNameLike (->) (Const ()) s s+    , RpaTypeCategoryLike (->) (Const ()) s s+    , RpaTypeMaximumGrossWeightLike (->) (Const ()) s s+    , RpaTypeUserManualLike (->) (Const ()) s s+    , RpaTypeTransponderCarriageLike (->) (Const ()) s s+    , RpaTypeFlightTerminationLike (->) (Const ()) s s+    , RpaTypeInspectionItemsLike (->) (Const ()) s s+    , RpaTypeBeforeFlightLike (->) (Const ()) s s+    , RpaTypeBatteryWarningsLike (->) (Const ()) s s+    , RpaTypeEmergencyActionsLike (->) (Const ()) s s+    , EquipmentEquipmentDescriptionLike (->) (Const ()) s s+    , EquipmentSerialNumberLike (->) (Const ()) s s+    , AircraftSerialNumberLike (->) (Const ()) s s+    , AircraftAssociatedEquipmentLike (->) (Const ()) s s+    , OperatedTypeRpaTypeLike (->) (Const ()) s s+    , OperatedTypeAirframesLike (->) (Const ()) s s+    , RePLOriginPplTheoryLike (->) (Const ()) s s+    , RePLOriginRePLTrainingOrganisationLike (->) (Const ()) s s+    , OtherReOCRolesNoOtherReOCRolesLike (->) (Const ()) s s+    , OtherReOCRolesOtherReOCRolesHeldLike (->) (Const ()) s s+    , NomineePersonLike (->) (Const ()) s s+    , NomineeOtherQualificationsLike (->) (Const ()) s s+    )+  , ( NomineeAviationExperienceLike (->) (Const ()) s s+    , ChiefExecutiveNomineeLike (->) (Const ()) s s+    , ChiefExecutiveDirectorStatusLike (->) (Const ()) s s+    , ChiefExecutiveManagementExperienceLike (->) (Const ()) s s+    , CrpNomineeCrpIsCEOLike (->) (Const ()) s s+    , CrpNomineeCrpNominatedLike (->) (Const ()) s s+    , ChiefPilotCrpNomineeLike (->) (Const ()) s s+    , ChiefPilotRePLOriginLike (->) (Const ()) s s+    , ChiefPilotRpaHistoryLike (->) (Const ()) s s+    , ChiefPilotOtherReOCRolesLike (->) (Const ()) s s+    , ChiefPilotRadioLike (->) (Const ()) s s+    , McNomineeMcIsCEOLike (->) (Const ()) s s+    , McNomineeMcIsCRPLike (->) (Const ()) s s+    , McNomineeMcNominatedLike (->) (Const ()) s s+    , KeyPersonnelChiefExecutiveLike (->) (Const ()) s s+    , KeyPersonnelChiefPilotLike (->) (Const ()) s s+    , KeyPersonnelMcNomineeLike (->) (Const ()) s s+    , OperatorCompanyLike (->) (Const ()) s s+    , OperatorKeyPersonnelLike (->) (Const ()) s s+    , OperatorFleetLike (->) (Const ()) s s+    , ContactPersonFullNameLike (->) (Const ()) s s+    , ContactPersonPositionLike (->) (Const ()) s s+    , ContactPersonPhoneNumberLike (->) (Const ()) s s+    , ContactPersonEmailAddressLike (->) (Const ()) s s+    , PrimaryContactApplicantIsPrimaryContactLike (->) (Const ()) s s+    , PrimaryContactPrimaryContactPersonLike (->) (Const ()) s s+    , HistoryAnswerNoHistoryLike (->) (Const ()) s s+    , HistoryAnswerHistoryDisclosedLike (->) (Const ()) s s+    , PersonnelHistoryActionTakenLike (->) (Const ()) s s+    , PersonnelHistoryTransportLicenceRefusedLike (->) (Const ()) s s+    , PersonnelHistoryCriminalConvictionLike (->) (Const ()) s s+    , PersonnelHistorySuspensionPendingLike (->) (Const ()) s s+    , RegulatoryActionReocSuspendedOrCancelledLike (->) (Const ()) s s+    , RegulatoryActionTypeOfActionLike (->) (Const ()) s s+    , RegulatoryActionAuthorisationActionLike (->) (Const ()) s s+    , RegulatoryActionActionDateLike (->) (Const ()) s s+    , RegulatoryActionActionDetailsLike (->) (Const ()) s s+    , RegulatoryHistoryNoRegulatoryActionLike (->) (Const ()) s s+    , RegulatoryHistoryRegulatoryActionTakenLike (->) (Const ()) s s+    , DeclarantFullNameLike (->) (Const ()) s s+    , DeclarantRoleLike (->) (Const ()) s s+    , DeclarationDeclaredByCEOLike (->) (Const ()) s s+    , DeclarationDeclaredByResponsibleManagerLike (->) (Const ()) s s+    , DeclarationDeclaredByAgentLike (->) (Const ()) s s+    , DeclarationDeclaredByOtherLike (->) (Const ()) s s+    , WrittenSignatureWrittenSignatureImageLike (->) (Const ()) s s+    , WrittenSignatureWrittenSignatureFileLike (->) (Const ()) s s+    , ApplicationFormPrimaryContactLike (->) (Const ()) s s+    , ApplicationFormPersonnelHistoryLike (->) (Const ()) s s+    , ApplicationFormRegulatoryHistoryLike (->) (Const ()) s s+    )+  , ( ApplicationFormProceduresLibraryLike (->) (Const ()) s s+    , ApplicationFormOtherDocumentsLike (->) (Const ()) s s+    , ApplicationFormDeclarationLike (->) (Const ()) s s+    , ApplicationFormSignatureLike (->) (Const ()) s s+    , VersionMajorVersionLike (->) (Const ()) s s+    , VersionMinorVersionLike (->) (Const ()) s s+    , FirstIssueVersionLike (->) (Const ()) s s+    , FirstIssueIssueDateLike (->) (Const ()) s s+    , FirstIssueEffectiveLike (->) (Const ()) s s+    , FirstIssuePartsLike (->) (Const ()) s s+    , FirstIssueDetailsLike (->) (Const ()) s s+    , RevisionVersionIncrementLike (->) (Const ()) s s+    , RevisionMonthsAfterLike (->) (Const ()) s s+    , RevisionEffectiveLike (->) (Const ()) s s+    , RevisionPartsLike (->) (Const ()) s s+    , RevisionDetailsLike (->) (Const ()) s s+    , PoliciesRecencyFlightsLike (->) (Const ()) s s+    , PoliciesRecencyDaysLike (->) (Const ()) s s+    , PoliciesRefresherMonthsLike (->) (Const ()) s s+    , PoliciesAlcoholHoursLike (->) (Const ()) s s+    , PoliciesRestHoursLike (->) (Const ()) s s+    , PoliciesDutyHoursLike (->) (Const ()) s s+    , PoliciesInspectionMonthsLike (->) (Const ()) s s+    , PoliciesInspectionHoursLike (->) (Const ()) s s+    , PoliciesBatteryReserveLike (->) (Const ()) s s+    , PoliciesBackupFrequencyLike (->) (Const ()) s s+    , PoliciesIndependentReviewYearsLike (->) (Const ()) s s+    , PoliciesCheckingMonthsLike (->) (Const ()) s s+    , RiskAssessmentRiskLikelihoodLike (->) (Const ()) s s+    , RiskAssessmentRiskConsequenceLike (->) (Const ()) s s+    , RiskHazardLike (->) (Const ()) s s+    , RiskRiskDescriptionLike (->) (Const ()) s s+    , RiskExistingControlsLike (->) (Const ()) s s+    , RiskInitialRiskLike (->) (Const ()) s s+    , RiskAdditionalControlsLike (->) (Const ()) s s+    , RiskResidualRiskLike (->) (Const ()) s s+    , RiskRiskOwnerLike (->) (Const ()) s s+    , RiskDateEnteredLike (->) (Const ()) s s+    , RiskReviewMonthsLike (->) (Const ()) s s+    , OperationsManualFirstIssueLike (->) (Const ()) s s+    , OperationsManualRevisionsLike (->) (Const ()) s s+    , OperationsManualServicesLike (->) (Const ()) s s+    , OperationsManualPoliciesLike (->) (Const ()) s s+    , OperationsManualRiskRegisterLike (->) (Const ()) s s+    , OperationsManualCrewLike (->) (Const ()) s s+    , OperationsManualPilotsLike (->) (Const ()) s s+    , CriNomineeCriIsCEOLike (->) (Const ()) s s+    , CriNomineeCriIsCRPLike (->) (Const ()) s s+    , CriNomineeCriIsMCLike (->) (Const ()) s s+    , CriNomineeCriNominatedLike (->) (Const ()) s s+    )+  , ( RePLHoldingHoldsRePLForEachTypeLike (->) (Const ()) s s+    , RePLHoldingRePLHoldingIntentLike (->) (Const ()) s s+    , TeachingQualificationTeachingQualificationHeldLike (->) (Const ()) s s+    , TeachingQualificationTeachingQualificationIntentLike (->) (Const ()) s s+    , OperationalExperienceHasOperationalExperienceLike (->) (Const ()) s s+    , OperationalExperienceOperationalExperienceIntentLike (->) (Const ()) s s+    , OperationalExperienceOperationalExperienceNotApplicableLike (->) (Const ()) s s+    , TrainingCourseCourseKindLike (->) (Const ()) s s+    , TrainingCourseTrainingRPALike (->) (Const ()) s s+    , TrainingCourseComplexitiesLike (->) (Const ()) s s+    , TrainingArrangementsTheoryVenuesLike (->) (Const ()) s s+    , TrainingArrangementsPracticalAreasLike (->) (Const ()) s s+    , TrainingArrangementsMaxStudentsPerCourseLike (->) (Const ()) s s+    , TrainingArrangementsMaxStudentsPerInstructorLike (->) (Const ()) s s+    , TrainingArrangementsTakeoverLike (->) (Const ()) s s+    , TrainingArrangementsTheoryLike (->) (Const ()) s s+    , TrainingArrangementsExamLike (->) (Const ()) s s+    , TrainingArrangementsExamPassMarkLike (->) (Const ()) s s+    , TrainingArrangementsExaminerLike (->) (Const ()) s s+    , TrainingArrangementsSimulatorLike (->) (Const ()) s s+    , TrainingMaterialCriNomineeLike (->) (Const ()) s s+    , TrainingMaterialRePLHoldingLike (->) (Const ()) s s+    , TrainingMaterialTeachingQualificationLike (->) (Const ()) s s+    , TrainingMaterialOperationalExperienceLike (->) (Const ()) s s+    , TrainingMaterialCriOtherReOCRolesLike (->) (Const ()) s s+    , TrainingMaterialTrainingCoursesLike (->) (Const ()) s s+    , TrainingMaterialTrainingArrangementsLike (->) (Const ()) s s+    , ReOCOperatorLike (->) (Const ()) s s+    , ReOCApplicationFormLike (->) (Const ()) s s+    , ReOCOperationsManualLike (->) (Const ()) s s+    , ReOCMaybeTrainingMaterialLike (->) (Const ()) s s+    )+  )++-- | Checks that a data type inherits every class of @InheritStep@.+inheritStep :: (InheritStep s) => proxy s -> ()+inheritStep _ = ()++-- | The checks of inheritance of @Step@.+inheritsStep :: [()]+inheritsStep =+  [ inheritField p+  ]+ where+  p = Proxy :: Proxy Step
+ src/ReOC/Data/TeachingQualification.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritTeachingQualification') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @TeachingQualification'@: the teaching qualification of the chief RePL instructor (CASA Form 101-02, questions 15 and 17).+module ReOC.Data.TeachingQualification (+  TeachingQualification' (..),+  TeachingQualification'Like (..),+  lawNamesTeachingQualification',+  TeachingQualification,+  UnfilledTeachingQualification,+  InheritTeachingQualification',+  inheritTeachingQualification',+) where++import Control.Lens (Choice, Optic, prism, review)+import Data.Functor.Const (Const)+import Data.Text (Text)+import ReOC.Name.TeachingQualificationHeld (TeachingQualificationHeldLike (..))+import ReOC.Name.TeachingQualificationIntent (TeachingQualificationIntentLike (..))+import ReOC.Primitive.FormText (FormFont (..), FormLines, FormText)++-- | The teaching qualification of the chief RePL instructor (CASA Form 101-02, questions 15 and 17). Its valid form is @TeachingQualification@, and its unfilled form @UnfilledTeachingQualification@.+data TeachingQualification' a1 a2+  = TeachingQualificationHeld a1+  | TeachingQualificationIntent a2+  deriving (Eq, Ord, Show)++-- | The name of the data type @TeachingQualification'@.+class TeachingQualification'Like p f x x' a1 a1' a2 a2' | x -> a1 a2 where+  teachingQualification' ::+    Optic p f x x' (TeachingQualification' a1 a2) (TeachingQualification' a1' a2')++-- | Identity+instance (x' ~ TeachingQualification' a1' a2') => TeachingQualification'Like p f (TeachingQualification' a1 a2) x' a1 a1' a2 a2' where+  teachingQualification' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ TeachingQualification' a1' a2) => TeachingQualificationHeldLike p f (TeachingQualification' a1 a2) x' a1 a1' where+  teachingQualificationHeld = prism TeachingQualificationHeld (\case TeachingQualificationHeld x -> Right x; TeachingQualificationIntent x -> Left (TeachingQualificationIntent x))++-- | Prism+instance (Choice p, Applicative f, x' ~ TeachingQualification' a1 a2') => TeachingQualificationIntentLike p f (TeachingQualification' a1 a2) x' a2 a2' where+  teachingQualificationIntent = prism TeachingQualificationIntent (\case TeachingQualificationHeld x -> Left (TeachingQualificationHeld x); TeachingQualificationIntent x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesTeachingQualification' == id+-}+lawNamesTeachingQualification' :: TeachingQualification' a1 a2 -> TeachingQualification' a1 a2+lawNamesTeachingQualification' = \case+  TeachingQualificationHeld x -> review teachingQualificationHeld x+  TeachingQualificationIntent x -> review teachingQualificationIntent x++-- | A valid @TeachingQualification'@.+type TeachingQualification = TeachingQualification' (FormLines 5) (FormText 'Wide 185 5)++-- | An unfilled @TeachingQualification'@: each field holds what has been entered, if anything, to be checked by @fillTeachingQualification@.+type UnfilledTeachingQualification = TeachingQualification' (Maybe Text) (Maybe Text)++-- | The classes that a data type holding @TeachingQualification'@ in one field, or in one or more constructors, inherits.+type InheritTeachingQualification' s a1 a2 =+  ( TeachingQualification'Like (->) (Const ()) s s a1 a1 a2 a2+  , TeachingQualificationHeldLike (->) (Const ()) s s a1 a1+  , TeachingQualificationIntentLike (->) (Const ()) s s a2 a2+  )++-- | Checks that a data type inherits every class of @InheritTeachingQualification'@.+inheritTeachingQualification' :: (InheritTeachingQualification' s a1 a2) => proxy s -> ()+inheritTeachingQualification' _ = ()
+ src/ReOC/Data/TheoryDelivery.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritTheoryDelivery) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @TheoryDelivery@: how theory lessons are delivered.+module ReOC.Data.TheoryDelivery (+  TheoryDelivery (..),+  TheoryDeliveryLike (..),+  lawNamesTheoryDelivery,+  InheritTheoryDelivery,+  inheritTheoryDelivery,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.BlendedTheory (BlendedTheoryLike (..))+import ReOC.Name.ClassroomTheory (ClassroomTheoryLike (..))+import ReOC.Name.OnlineTheory (OnlineTheoryLike (..))++-- | How theory lessons are delivered.+data TheoryDelivery+  = ClassroomTheory+  | BlendedTheory+  | OnlineTheory+  deriving (Eq, Ord, Show)++-- | The name of the data type @TheoryDelivery@.+class TheoryDeliveryLike p f x x' where+  theoryDelivery ::+    Optic p f x x' TheoryDelivery TheoryDelivery++-- | Identity+instance (x' ~ TheoryDelivery) => TheoryDeliveryLike p f TheoryDelivery x' where+  theoryDelivery = id++-- | Prism+instance (Choice p, Applicative f, x' ~ TheoryDelivery) => ClassroomTheoryLike p f TheoryDelivery x' where+  classroomTheory = prism' (\() -> ClassroomTheory) (\case ClassroomTheory -> Just (); BlendedTheory -> Nothing; OnlineTheory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ TheoryDelivery) => BlendedTheoryLike p f TheoryDelivery x' where+  blendedTheory = prism' (\() -> BlendedTheory) (\case ClassroomTheory -> Nothing; BlendedTheory -> Just (); OnlineTheory -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ TheoryDelivery) => OnlineTheoryLike p f TheoryDelivery x' where+  onlineTheory = prism' (\() -> OnlineTheory) (\case ClassroomTheory -> Nothing; BlendedTheory -> Nothing; OnlineTheory -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesTheoryDelivery == id+-}+lawNamesTheoryDelivery :: TheoryDelivery -> TheoryDelivery+lawNamesTheoryDelivery = \case+  ClassroomTheory -> review classroomTheory ()+  BlendedTheory -> review blendedTheory ()+  OnlineTheory -> review onlineTheory ()++-- | The classes that a data type holding @TheoryDelivery@ in one field, or in one or more constructors, inherits.+type InheritTheoryDelivery s =+  ( TheoryDeliveryLike (->) (Const ()) s s+  , ClassroomTheoryLike (->) (Const ()) s s+  , BlendedTheoryLike (->) (Const ()) s s+  , OnlineTheoryLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritTheoryDelivery@.+inheritTheoryDelivery :: (InheritTheoryDelivery s) => proxy s -> ()+inheritTheoryDelivery _ = ()
+ src/ReOC/Data/TooMany.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritTooMany) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @TooMany@: a list field filled in with more elements than it holds, at its path: the most it holds, and the number given.+module ReOC.Data.TooMany (+  TooMany (..),+  TooManyLike (..),+  lawNamesTooMany,+  InheritTooMany,+  inheritTooMany,+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Numeric.Natural (Natural)+import ReOC.Data.Step (Step)+import ReOC.Name.GivenElements (GivenElementsLike (..))+import ReOC.Name.MostElements (MostElementsLike (..))+import ReOC.Name.Path (PathLike (..))++-- | A list field filled in with more elements than it holds, at its path: the most it holds, and the number given.+data TooMany = TooMany [Step] Natural Natural+  deriving (Eq, Ord, Show)++-- | The name of the data type @TooMany@.+class TooManyLike p f x x' where+  tooMany ::+    Optic p f x x' TooMany TooMany++-- | Identity+instance (x' ~ TooMany) => TooManyLike p f TooMany x' where+  tooMany = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ TooMany) => PathLike p f TooMany x' where+  path f (TooMany x1 x2 x3) = fmap (\x1' -> TooMany x1' x2 x3) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TooMany) => MostElementsLike p f TooMany x' where+  mostElements f (TooMany x1 x2 x3) = fmap (\x2' -> TooMany x1 x2' x3) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TooMany) => GivenElementsLike p f TooMany x' where+  givenElements f (TooMany x1 x2 x3) = fmap (TooMany x1 x2) (f x3)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesTooMany == id+-}+lawNamesTooMany :: TooMany -> TooMany+lawNamesTooMany s =+  TooMany+    (view (cloneLens path) s)+    (view (cloneLens mostElements) s)+    (view (cloneLens givenElements) s)++-- | The classes that a data type holding @TooMany@ in one field, or in one or more constructors, inherits.+type InheritTooMany s =+  ( TooManyLike (->) (Const ()) s s+  , PathLike (->) (Const ()) s s+  , MostElementsLike (->) (Const ()) s s+  , GivenElementsLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritTooMany@.+inheritTooMany :: (InheritTooMany s) => proxy s -> ()+inheritTooMany _ = ()
+ src/ReOC/Data/TrainingArrangements.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritTrainingArrangements') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @TrainingArrangements'@: how RePL training is conducted, as the RePL training manual sets out: where theory and practical training are conducted, student numbers, the instructor’s control of the RPA, the delivery of theory and examinations, the pass mark, the examiner of flight tests, and the simulator, if one is used.+module ReOC.Data.TrainingArrangements (+  TrainingArrangements' (..),+  TrainingArrangements'Like (..),+  lawNamesTrainingArrangements',+  TrainingArrangements,+  UnfilledTrainingArrangements,+  mkTrainingArrangements,+  mkUnfilledTrainingArrangements,+  InheritTrainingArrangements',+  inheritTrainingArrangements',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.List.NonEmpty (NonEmpty)+import Data.Text (Text)+import Numeric.Natural (Natural)+import ReOC.Data.ExamDelivery (ExamDelivery)+import ReOC.Data.FlightTestExaminer (FlightTestExaminer)+import ReOC.Data.InstructorTakeover (InstructorTakeover)+import ReOC.Data.TheoryDelivery (TheoryDelivery)+import ReOC.Name.Exam (ExamLike (..))+import ReOC.Name.ExamPassMark (ExamPassMarkLike (..))+import ReOC.Name.Examiner (ExaminerLike (..))+import ReOC.Name.MaxStudentsPerCourse (MaxStudentsPerCourseLike (..))+import ReOC.Name.MaxStudentsPerInstructor (MaxStudentsPerInstructorLike (..))+import ReOC.Name.PracticalAreas (PracticalAreasLike (..))+import ReOC.Name.Simulator (SimulatorLike (..))+import ReOC.Name.Takeover (TakeoverLike (..))+import ReOC.Name.Theory (TheoryLike (..))+import ReOC.Name.TheoryVenues (TheoryVenuesLike (..))+import ReOC.Primitive.PassMark (PassMark)+import ReOC.Primitive.Positive (Positive)+import ReOC.Primitive.Text1 (Text1)++-- | How RePL training is conducted, as the RePL training manual sets out: where theory and practical training are conducted, student numbers, the instructor’s control of the RPA, the delivery of theory and examinations, the pass mark, the examiner of flight tests, and the simulator, if one is used. Its valid form is @TrainingArrangements@, and its unfilled form @UnfilledTrainingArrangements@.+data TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 = TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10+  deriving (Eq, Ord, Show)++-- | The name of the data type @TrainingArrangements'@.+class TrainingArrangements'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' a9 a9' a10 a10' | x -> a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 where+  trainingArrangements' ::+    Optic p f x x' (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) (TrainingArrangements' a1' a2' a3' a4' a5' a6' a7' a8' a9' a10')++-- | Identity+instance (x' ~ TrainingArrangements' a1' a2' a3' a4' a5' a6' a7' a8' a9' a10') => TrainingArrangements'Like p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' a8 a8' a9 a9' a10 a10' where+  trainingArrangements' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1' a2 a3 a4 a5 a6 a7 a8 a9 a10) => TheoryVenuesLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a1 a1' where+  theoryVenues f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (\x1' -> TrainingArrangements' x1' x2 x3 x4 x5 x6 x7 x8 x9 x10) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1 a2' a3 a4 a5 a6 a7 a8 a9 a10) => PracticalAreasLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a2 a2' where+  practicalAreas f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (\x2' -> TrainingArrangements' x1 x2' x3 x4 x5 x6 x7 x8 x9 x10) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1 a2 a3' a4 a5 a6 a7 a8 a9 a10) => MaxStudentsPerCourseLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a3 a3' where+  maxStudentsPerCourse f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (\x3' -> TrainingArrangements' x1 x2 x3' x4 x5 x6 x7 x8 x9 x10) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1 a2 a3 a4' a5 a6 a7 a8 a9 a10) => MaxStudentsPerInstructorLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a4 a4' where+  maxStudentsPerInstructor f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (\x4' -> TrainingArrangements' x1 x2 x3 x4' x5 x6 x7 x8 x9 x10) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1 a2 a3 a4 a5' a6 a7 a8 a9 a10) => TakeoverLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a5 a5' where+  takeover f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (\x5' -> TrainingArrangements' x1 x2 x3 x4 x5' x6 x7 x8 x9 x10) (f x5)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1 a2 a3 a4 a5 a6' a7 a8 a9 a10) => TheoryLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a6 a6' where+  theory f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (\x6' -> TrainingArrangements' x1 x2 x3 x4 x5 x6' x7 x8 x9 x10) (f x6)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1 a2 a3 a4 a5 a6 a7' a8 a9 a10) => ExamLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a7 a7' where+  exam f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (\x7' -> TrainingArrangements' x1 x2 x3 x4 x5 x6 x7' x8 x9 x10) (f x7)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8' a9 a10) => ExamPassMarkLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a8 a8' where+  examPassMark f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (\x8' -> TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8' x9 x10) (f x8)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9' a10) => ExaminerLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a9 a9' where+  examiner f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (\x9' -> TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9' x10) (f x9)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10') => SimulatorLike p f (TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) x' a10 a10' where+  simulator f (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) = fmap (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9) (f x10)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesTrainingArrangements' == id+-}+lawNamesTrainingArrangements' :: TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 -> TrainingArrangements' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10+lawNamesTrainingArrangements' s =+  TrainingArrangements'+    (view (cloneLens theoryVenues) s)+    (view (cloneLens practicalAreas) s)+    (view (cloneLens maxStudentsPerCourse) s)+    (view (cloneLens maxStudentsPerInstructor) s)+    (view (cloneLens takeover) s)+    (view (cloneLens theory) s)+    (view (cloneLens exam) s)+    (view (cloneLens examPassMark) s)+    (view (cloneLens examiner) s)+    (view (cloneLens simulator) s)++-- | A valid @TrainingArrangements'@.+type TrainingArrangements = TrainingArrangements' (NonEmpty Text1) (NonEmpty Text1) Positive Positive InstructorTakeover TheoryDelivery ExamDelivery PassMark FlightTestExaminer (Maybe Text1)++-- | An unfilled @TrainingArrangements'@: each field holds what has been entered, if anything, to be checked by @fillTrainingArrangements@.+type UnfilledTrainingArrangements = TrainingArrangements' [Text] [Text] (Maybe Natural) (Maybe Natural) (Maybe InstructorTakeover) (Maybe TheoryDelivery) (Maybe ExamDelivery) (Maybe Natural) (Maybe FlightTestExaminer) (Maybe Text)++-- | Builds a valid @TrainingArrangements'@ with every @Maybe@ field @Nothing@ and every list (or @AtMost@) field empty.+mkTrainingArrangements :: NonEmpty Text1 -> NonEmpty Text1 -> Positive -> Positive -> InstructorTakeover -> TheoryDelivery -> ExamDelivery -> PassMark -> FlightTestExaminer -> TrainingArrangements+mkTrainingArrangements x1 x2 x3 x4 x5 x6 x7 x8 x9 = TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 Nothing++-- | An unfilled @TrainingArrangements'@ with nothing entered.+mkUnfilledTrainingArrangements :: UnfilledTrainingArrangements+mkUnfilledTrainingArrangements =+  TrainingArrangements'+    []+    []+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing++-- | The classes that a data type holding @TrainingArrangements'@ in one field, or in one or more constructors, inherits.+type InheritTrainingArrangements' s a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 =+  ( TrainingArrangements'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 a6 a6 a7 a7 a8 a8 a9 a9 a10 a10+  , TheoryVenuesLike (->) (Const ()) s s a1 a1+  , PracticalAreasLike (->) (Const ()) s s a2 a2+  , MaxStudentsPerCourseLike (->) (Const ()) s s a3 a3+  , MaxStudentsPerInstructorLike (->) (Const ()) s s a4 a4+  , TakeoverLike (->) (Const ()) s s a5 a5+  , TheoryLike (->) (Const ()) s s a6 a6+  , ExamLike (->) (Const ()) s s a7 a7+  , ExamPassMarkLike (->) (Const ()) s s a8 a8+  , ExaminerLike (->) (Const ()) s s a9 a9+  , SimulatorLike (->) (Const ()) s s a10 a10+  )++-- | Checks that a data type inherits every class of @InheritTrainingArrangements'@.+inheritTrainingArrangements' :: (InheritTrainingArrangements' s a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) => proxy s -> ()+inheritTrainingArrangements' _ = ()
+ src/ReOC/Data/TrainingCourse.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritTrainingCourse') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @TrainingCourse'@: a RePL training course (a row of CASA Form 101-02, question 29). Its category and weight class are those of its training RPA, which is listed with the operator’s RPA in both documents.+module ReOC.Data.TrainingCourse (+  TrainingCourse' (..),+  TrainingCourse'Like (..),+  lawNamesTrainingCourse',+  TrainingCourse,+  UnfilledTrainingCourse,+  mkUnfilledTrainingCourse,+  InheritTrainingCourse',+  inheritTrainingCourse',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Data.List.NonEmpty (NonEmpty)+import ReOC.Data.Complexity (Complexity)+import ReOC.Data.CourseType (CourseType)+import ReOC.Data.OperatedType (OperatedType, UnfilledOperatedType, mkUnfilledOperatedType)+import ReOC.Name.Complexities (ComplexitiesLike (..))+import ReOC.Name.CourseKind (CourseKindLike (..))+import ReOC.Name.TrainingRPA (TrainingRPALike (..))++-- | A RePL training course (a row of CASA Form 101-02, question 29). Its category and weight class are those of its training RPA, which is listed with the operator’s RPA in both documents. Its valid form is @TrainingCourse@, and its unfilled form @UnfilledTrainingCourse@.+data TrainingCourse' a1 a2 a3 = TrainingCourse' a1 a2 a3+  deriving (Eq, Ord, Show)++-- | The name of the data type @TrainingCourse'@.+class TrainingCourse'Like p f x x' a1 a1' a2 a2' a3 a3' | x -> a1 a2 a3 where+  trainingCourse' ::+    Optic p f x x' (TrainingCourse' a1 a2 a3) (TrainingCourse' a1' a2' a3')++-- | Identity+instance (x' ~ TrainingCourse' a1' a2' a3') => TrainingCourse'Like p f (TrainingCourse' a1 a2 a3) x' a1 a1' a2 a2' a3 a3' where+  trainingCourse' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingCourse' a1' a2 a3) => CourseKindLike p f (TrainingCourse' a1 a2 a3) x' a1 a1' where+  courseKind f (TrainingCourse' x1 x2 x3) = fmap (\x1' -> TrainingCourse' x1' x2 x3) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingCourse' a1 a2' a3) => TrainingRPALike p f (TrainingCourse' a1 a2 a3) x' a2 a2' where+  trainingRPA f (TrainingCourse' x1 x2 x3) = fmap (\x2' -> TrainingCourse' x1 x2' x3) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingCourse' a1 a2 a3') => ComplexitiesLike p f (TrainingCourse' a1 a2 a3) x' a3 a3' where+  complexities f (TrainingCourse' x1 x2 x3) = fmap (TrainingCourse' x1 x2) (f x3)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesTrainingCourse' == id+-}+lawNamesTrainingCourse' :: TrainingCourse' a1 a2 a3 -> TrainingCourse' a1 a2 a3+lawNamesTrainingCourse' s =+  TrainingCourse'+    (view (cloneLens courseKind) s)+    (view (cloneLens trainingRPA) s)+    (view (cloneLens complexities) s)++-- | A valid @TrainingCourse'@.+type TrainingCourse = TrainingCourse' CourseType OperatedType (NonEmpty Complexity)++-- | An unfilled @TrainingCourse'@: each field holds what has been entered, if anything, to be checked by @fillTrainingCourse@.+type UnfilledTrainingCourse = TrainingCourse' (Maybe CourseType) UnfilledOperatedType [Complexity]++-- | An unfilled @TrainingCourse'@ with nothing entered.+mkUnfilledTrainingCourse :: UnfilledTrainingCourse+mkUnfilledTrainingCourse =+  TrainingCourse'+    Nothing+    mkUnfilledOperatedType+    []++-- | The classes that a data type holding @TrainingCourse'@ in one field, or in one or more constructors, inherits.+type InheritTrainingCourse' s a1 a2 a3 =+  ( TrainingCourse'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3+  , CourseKindLike (->) (Const ()) s s a1 a1+  , TrainingRPALike (->) (Const ()) s s a2 a2+  , ComplexitiesLike (->) (Const ()) s s a3 a3+  )++-- | Checks that a data type inherits every class of @InheritTrainingCourse'@.+inheritTrainingCourse' :: (InheritTrainingCourse' s a1 a2 a3) => proxy s -> ()+inheritTrainingCourse' _ = ()
+ src/ReOC/Data/TrainingMaterial.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritTrainingMaterial') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @TrainingMaterial'@: rePL training: the chief RePL instructor and the courses, at most 9 (CASA Form 101-02, questions 13 to 18, 29 and 30), and the arrangements of the RePL training manual.+module ReOC.Data.TrainingMaterial (+  TrainingMaterial' (..),+  TrainingMaterial'Like (..),+  lawNamesTrainingMaterial',+  TrainingMaterial,+  UnfilledTrainingMaterial,+  mkUnfilledTrainingMaterial,+  InheritTrainingMaterial',+  inheritTrainingMaterial',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import ReOC.Data.CRINominee (CRINominee, UnfilledCRINominee)+import ReOC.Data.OperationalExperience (OperationalExperience, UnfilledOperationalExperience)+import ReOC.Data.OtherReOCRoles (OtherReOCRoles, UnfilledOtherReOCRoles)+import ReOC.Data.RePLHolding (RePLHolding, UnfilledRePLHolding)+import ReOC.Data.TeachingQualification (TeachingQualification, UnfilledTeachingQualification)+import ReOC.Data.TrainingArrangements (TrainingArrangements, UnfilledTrainingArrangements, mkUnfilledTrainingArrangements)+import ReOC.Data.TrainingCourse (TrainingCourse, UnfilledTrainingCourse)+import ReOC.Name.CriNominee (CriNomineeLike (..))+import ReOC.Name.CriOtherReOCRoles (CriOtherReOCRolesLike (..))+import ReOC.Name.OperationalExperience (OperationalExperienceLike (..))+import ReOC.Name.RePLHolding (RePLHoldingLike (..))+import ReOC.Name.TeachingQualification (TeachingQualificationLike (..))+import ReOC.Name.TrainingArrangements (TrainingArrangementsLike (..))+import ReOC.Name.TrainingCourses (TrainingCoursesLike (..))+import ReOC.Primitive.Some (Some)++-- | RePL training: the chief RePL instructor and the courses, at most 9 (CASA Form 101-02, questions 13 to 18, 29 and 30), and the arrangements of the RePL training manual. Its valid form is @TrainingMaterial@, and its unfilled form @UnfilledTrainingMaterial@.+data TrainingMaterial' a1 a2 a3 a4 a5 a6 a7 = TrainingMaterial' a1 a2 a3 a4 a5 a6 a7+  deriving (Eq, Ord, Show)++-- | The name of the data type @TrainingMaterial'@.+class TrainingMaterial'Like p f x x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' | x -> a1 a2 a3 a4 a5 a6 a7 where+  trainingMaterial' ::+    Optic p f x x' (TrainingMaterial' a1 a2 a3 a4 a5 a6 a7) (TrainingMaterial' a1' a2' a3' a4' a5' a6' a7')++-- | Identity+instance (x' ~ TrainingMaterial' a1' a2' a3' a4' a5' a6' a7') => TrainingMaterial'Like p f (TrainingMaterial' a1 a2 a3 a4 a5 a6 a7) x' a1 a1' a2 a2' a3 a3' a4 a4' a5 a5' a6 a6' a7 a7' where+  trainingMaterial' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingMaterial' a1' a2 a3 a4 a5 a6 a7) => CriNomineeLike p f (TrainingMaterial' a1 a2 a3 a4 a5 a6 a7) x' a1 a1' where+  criNominee f (TrainingMaterial' x1 x2 x3 x4 x5 x6 x7) = fmap (\x1' -> TrainingMaterial' x1' x2 x3 x4 x5 x6 x7) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingMaterial' a1 a2' a3 a4 a5 a6 a7) => RePLHoldingLike p f (TrainingMaterial' a1 a2 a3 a4 a5 a6 a7) x' a2 a2' where+  rePLHolding f (TrainingMaterial' x1 x2 x3 x4 x5 x6 x7) = fmap (\x2' -> TrainingMaterial' x1 x2' x3 x4 x5 x6 x7) (f x2)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingMaterial' a1 a2 a3' a4 a5 a6 a7) => TeachingQualificationLike p f (TrainingMaterial' a1 a2 a3 a4 a5 a6 a7) x' a3 a3' where+  teachingQualification f (TrainingMaterial' x1 x2 x3 x4 x5 x6 x7) = fmap (\x3' -> TrainingMaterial' x1 x2 x3' x4 x5 x6 x7) (f x3)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingMaterial' a1 a2 a3 a4' a5 a6 a7) => OperationalExperienceLike p f (TrainingMaterial' a1 a2 a3 a4 a5 a6 a7) x' a4 a4' where+  operationalExperience f (TrainingMaterial' x1 x2 x3 x4 x5 x6 x7) = fmap (\x4' -> TrainingMaterial' x1 x2 x3 x4' x5 x6 x7) (f x4)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingMaterial' a1 a2 a3 a4 a5' a6 a7) => CriOtherReOCRolesLike p f (TrainingMaterial' a1 a2 a3 a4 a5 a6 a7) x' a5 a5' where+  criOtherReOCRoles f (TrainingMaterial' x1 x2 x3 x4 x5 x6 x7) = fmap (\x5' -> TrainingMaterial' x1 x2 x3 x4 x5' x6 x7) (f x5)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingMaterial' a1 a2 a3 a4 a5 a6' a7) => TrainingCoursesLike p f (TrainingMaterial' a1 a2 a3 a4 a5 a6 a7) x' a6 a6' where+  trainingCourses f (TrainingMaterial' x1 x2 x3 x4 x5 x6 x7) = fmap (\x6' -> TrainingMaterial' x1 x2 x3 x4 x5 x6' x7) (f x6)++-- | Lens+instance (p ~ (->), Functor f, x' ~ TrainingMaterial' a1 a2 a3 a4 a5 a6 a7') => TrainingArrangementsLike p f (TrainingMaterial' a1 a2 a3 a4 a5 a6 a7) x' a7 a7' where+  trainingArrangements f (TrainingMaterial' x1 x2 x3 x4 x5 x6 x7) = fmap (TrainingMaterial' x1 x2 x3 x4 x5 x6) (f x7)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesTrainingMaterial' == id+-}+lawNamesTrainingMaterial' :: TrainingMaterial' a1 a2 a3 a4 a5 a6 a7 -> TrainingMaterial' a1 a2 a3 a4 a5 a6 a7+lawNamesTrainingMaterial' s =+  TrainingMaterial'+    (view (cloneLens criNominee) s)+    (view (cloneLens rePLHolding) s)+    (view (cloneLens teachingQualification) s)+    (view (cloneLens operationalExperience) s)+    (view (cloneLens criOtherReOCRoles) s)+    (view (cloneLens trainingCourses) s)+    (view (cloneLens trainingArrangements) s)++-- | A valid @TrainingMaterial'@.+type TrainingMaterial = TrainingMaterial' CRINominee RePLHolding TeachingQualification OperationalExperience OtherReOCRoles (Some 9 TrainingCourse) TrainingArrangements++-- | An unfilled @TrainingMaterial'@: each field holds what has been entered, if anything, to be checked by @fillTrainingMaterial@.+type UnfilledTrainingMaterial = TrainingMaterial' (Maybe UnfilledCRINominee) (Maybe UnfilledRePLHolding) (Maybe UnfilledTeachingQualification) (Maybe UnfilledOperationalExperience) (Maybe UnfilledOtherReOCRoles) [UnfilledTrainingCourse] UnfilledTrainingArrangements++-- | An unfilled @TrainingMaterial'@ with nothing entered.+mkUnfilledTrainingMaterial :: UnfilledTrainingMaterial+mkUnfilledTrainingMaterial =+  TrainingMaterial'+    Nothing+    Nothing+    Nothing+    Nothing+    Nothing+    []+    mkUnfilledTrainingArrangements++-- | The classes that a data type holding @TrainingMaterial'@ in one field, or in one or more constructors, inherits.+type InheritTrainingMaterial' s a1 a2 a3 a4 a5 a6 a7 =+  ( TrainingMaterial'Like (->) (Const ()) s s a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 a6 a6 a7 a7+  , CriNomineeLike (->) (Const ()) s s a1 a1+  , RePLHoldingLike (->) (Const ()) s s a2 a2+  , TeachingQualificationLike (->) (Const ()) s s a3 a3+  , OperationalExperienceLike (->) (Const ()) s s a4 a4+  , CriOtherReOCRolesLike (->) (Const ()) s s a5 a5+  , TrainingCoursesLike (->) (Const ()) s s a6 a6+  , TrainingArrangementsLike (->) (Const ()) s s a7 a7+  )++-- | Checks that a data type inherits every class of @InheritTrainingMaterial'@.+inheritTrainingMaterial' :: (InheritTrainingMaterial' s a1 a2 a3 a4 a5 a6 a7) => proxy s -> ()+inheritTrainingMaterial' _ = ()
+ src/ReOC/Data/Transponder.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritTransponder) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Transponder@: whether a type of RPA is fitted with a transponder or ADS-B (out).+module ReOC.Data.Transponder (+  Transponder (..),+  TransponderLike (..),+  lawNamesTransponder,+  InheritTransponder,+  inheritTransponder,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.NoTransponder (NoTransponderLike (..))+import ReOC.Name.TransponderFitted (TransponderFittedLike (..))++-- | Whether a type of RPA is fitted with a transponder or ADS-B (out).+data Transponder+  = NoTransponder+  | TransponderFitted+  deriving (Eq, Ord, Show)++-- | The name of the data type @Transponder@.+class TransponderLike p f x x' where+  transponder ::+    Optic p f x x' Transponder Transponder++-- | Identity+instance (x' ~ Transponder) => TransponderLike p f Transponder x' where+  transponder = id++-- | Prism+instance (Choice p, Applicative f, x' ~ Transponder) => NoTransponderLike p f Transponder x' where+  noTransponder = prism' (\() -> NoTransponder) (\case NoTransponder -> Just (); TransponderFitted -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ Transponder) => TransponderFittedLike p f Transponder x' where+  transponderFitted = prism' (\() -> TransponderFitted) (\case NoTransponder -> Nothing; TransponderFitted -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesTransponder == id+-}+lawNamesTransponder :: Transponder -> Transponder+lawNamesTransponder = \case+  NoTransponder -> review noTransponder ()+  TransponderFitted -> review transponderFitted ()++-- | The classes that a data type holding @Transponder@ in one field, or in one or more constructors, inherits.+type InheritTransponder s =+  ( TransponderLike (->) (Const ()) s s+  , NoTransponderLike (->) (Const ()) s s+  , TransponderFittedLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritTransponder@.+inheritTransponder :: (InheritTransponder s) => proxy s -> ()+inheritTransponder _ = ()
+ src/ReOC/Data/Unfilled.hs view
@@ -0,0 +1,60 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritUnfilled) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Unfilled@: a field that has not been filled in, at its path.+module ReOC.Data.Unfilled (+  Unfilled (..),+  UnfilledLike (..),+  lawNamesUnfilled,+  InheritUnfilled,+  inheritUnfilled,+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import ReOC.Data.Step (Step)+import ReOC.Name.Path (PathLike (..))++-- | A field that has not been filled in, at its path.+newtype Unfilled = Unfilled [Step]+  deriving (Eq, Ord, Show)++-- | The name of the data type @Unfilled@.+class UnfilledLike p f x x' where+  unfilled ::+    Optic p f x x' Unfilled Unfilled++-- | Identity+instance (x' ~ Unfilled) => UnfilledLike p f Unfilled x' where+  unfilled = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Unfilled) => PathLike p f Unfilled x' where+  path f (Unfilled x1) = fmap Unfilled (f x1)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesUnfilled == id+-}+lawNamesUnfilled :: Unfilled -> Unfilled+lawNamesUnfilled s =+  Unfilled+    (view (cloneLens path) s)++-- | The classes that a data type holding @Unfilled@ in one field, or in one or more constructors, inherits.+type InheritUnfilled s =+  ( UnfilledLike (->) (Const ()) s s+  , PathLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritUnfilled@.+inheritUnfilled :: (InheritUnfilled s) => proxy s -> ()+inheritUnfilled _ = ()
+ src/ReOC/Data/Version.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritVersion') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @Version'@: the version of the operations manual.+module ReOC.Data.Version (+  Version' (..),+  Version'Like (..),+  lawNamesVersion',+  Version,+  UnfilledVersion,+  mkUnfilledVersion,+  InheritVersion',+  inheritVersion',+) where++import Control.Lens (Optic, cloneLens, view)+import Data.Functor.Const (Const)+import Numeric.Natural (Natural)+import ReOC.Name.MajorVersion (MajorVersionLike (..))+import ReOC.Name.MinorVersion (MinorVersionLike (..))++-- | The version of the operations manual. Its valid form is @Version@, and its unfilled form @UnfilledVersion@.+data Version' a1 a2 = Version' a1 a2+  deriving (Eq, Ord, Show)++-- | The name of the data type @Version'@.+class Version'Like p f x x' a1 a1' a2 a2' | x -> a1 a2 where+  version' ::+    Optic p f x x' (Version' a1 a2) (Version' a1' a2')++-- | Identity+instance (x' ~ Version' a1' a2') => Version'Like p f (Version' a1 a2) x' a1 a1' a2 a2' where+  version' = id++-- | Lens+instance (p ~ (->), Functor f, x' ~ Version' a1' a2) => MajorVersionLike p f (Version' a1 a2) x' a1 a1' where+  majorVersion f (Version' x1 x2) = fmap (\x1' -> Version' x1' x2) (f x1)++-- | Lens+instance (p ~ (->), Functor f, x' ~ Version' a1 a2') => MinorVersionLike p f (Version' a1 a2) x' a2 a2' where+  minorVersion f (Version' x1 x2) = fmap (Version' x1) (f x2)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesVersion' == id+-}+lawNamesVersion' :: Version' a1 a2 -> Version' a1 a2+lawNamesVersion' s =+  Version'+    (view (cloneLens majorVersion) s)+    (view (cloneLens minorVersion) s)++-- | A valid @Version'@.+type Version = Version' Natural Natural++-- | An unfilled @Version'@: each field holds what has been entered, if anything, to be checked by @fillVersion@.+type UnfilledVersion = Version' (Maybe Natural) (Maybe Natural)++-- | An unfilled @Version'@ with nothing entered.+mkUnfilledVersion :: UnfilledVersion+mkUnfilledVersion =+  Version'+    Nothing+    Nothing++-- | The classes that a data type holding @Version'@ in one field, or in one or more constructors, inherits.+type InheritVersion' s a1 a2 =+  ( Version'Like (->) (Const ()) s s a1 a1 a2 a2+  , MajorVersionLike (->) (Const ()) s s a1 a1+  , MinorVersionLike (->) (Const ()) s s a2 a2+  )++-- | Checks that a data type inherits every class of @InheritVersion'@.+inheritVersion' :: (InheritVersion' s a1 a2) => proxy s -> ()+inheritVersion' _ = ()
+ src/ReOC/Data/VersionChange.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritVersionChange) have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @VersionChange@: how a revision of the operations manual changes its version: a major revision increments the major version and resets the minor version to 0.+module ReOC.Data.VersionChange (+  VersionChange (..),+  VersionChangeLike (..),+  lawNamesVersionChange,+  InheritVersionChange,+  inheritVersionChange,+) where++import Control.Lens (Choice, Optic, prism', review)+import Data.Functor.Const (Const)+import ReOC.Name.MajorRevision (MajorRevisionLike (..))+import ReOC.Name.MinorRevision (MinorRevisionLike (..))++-- | How a revision of the operations manual changes its version: a major revision increments the major version and resets the minor version to 0.+data VersionChange+  = MajorRevision+  | MinorRevision+  deriving (Eq, Ord, Show)++-- | The name of the data type @VersionChange@.+class VersionChangeLike p f x x' where+  versionChange ::+    Optic p f x x' VersionChange VersionChange++-- | Identity+instance (x' ~ VersionChange) => VersionChangeLike p f VersionChange x' where+  versionChange = id++-- | Prism+instance (Choice p, Applicative f, x' ~ VersionChange) => MajorRevisionLike p f VersionChange x' where+  majorRevision = prism' (\() -> MajorRevision) (\case MajorRevision -> Just (); MinorRevision -> Nothing)++-- | Prism+instance (Choice p, Applicative f, x' ~ VersionChange) => MinorRevisionLike p f VersionChange x' where+  minorRevision = prism' (\() -> MinorRevision) (\case MajorRevision -> Nothing; MinorRevision -> Just ())++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesVersionChange == id+-}+lawNamesVersionChange :: VersionChange -> VersionChange+lawNamesVersionChange = \case+  MajorRevision -> review majorRevision ()+  MinorRevision -> review minorRevision ()++-- | The classes that a data type holding @VersionChange@ in one field, or in one or more constructors, inherits.+type InheritVersionChange s =+  ( VersionChangeLike (->) (Const ()) s s+  , MajorRevisionLike (->) (Const ()) s s+  , MinorRevisionLike (->) (Const ()) s s+  )++-- | Checks that a data type inherits every class of @InheritVersionChange@.+inheritVersionChange :: (InheritVersionChange s) => proxy s -> ()+inheritVersionChange _ = ()
+ src/ReOC/Data/WrittenSignature.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+-- The checks of inheritance (inheritWrittenSignature') have a constraint that their body does not use, by design.+{-# OPTIONS_GHC -Wno-redundant-constraints #-}++-- | The data type @WrittenSignature'@: the written signature of the declarant, which a document build places in the signature box of the declaration (CASA Form 101-02, question 31): a PNG image, given by its contents or by the path of its file.+module ReOC.Data.WrittenSignature (+  WrittenSignature' (..),+  WrittenSignature'Like (..),+  lawNamesWrittenSignature',+  WrittenSignature,+  UnfilledWrittenSignature,+  InheritWrittenSignature',+  inheritWrittenSignature',+) where++import Control.Lens (Choice, Optic, prism, review)+import Data.ByteString (ByteString)+import Data.Functor.Const (Const)+import ReOC.Name.WrittenSignatureFile (WrittenSignatureFileLike (..))+import ReOC.Name.WrittenSignatureImage (WrittenSignatureImageLike (..))++-- | The written signature of the declarant, which a document build places in the signature box of the declaration (CASA Form 101-02, question 31): a PNG image, given by its contents or by the path of its file. Its valid form is @WrittenSignature@, and its unfilled form @UnfilledWrittenSignature@.+data WrittenSignature' a1 a2+  = WrittenSignatureImage a1+  | WrittenSignatureFile a2+  deriving (Eq, Ord, Show)++-- | The name of the data type @WrittenSignature'@.+class WrittenSignature'Like p f x x' a1 a1' a2 a2' | x -> a1 a2 where+  writtenSignature' ::+    Optic p f x x' (WrittenSignature' a1 a2) (WrittenSignature' a1' a2')++-- | Identity+instance (x' ~ WrittenSignature' a1' a2') => WrittenSignature'Like p f (WrittenSignature' a1 a2) x' a1 a1' a2 a2' where+  writtenSignature' = id++-- | Prism+instance (Choice p, Applicative f, x' ~ WrittenSignature' a1' a2) => WrittenSignatureImageLike p f (WrittenSignature' a1 a2) x' a1 a1' where+  writtenSignatureImage = prism WrittenSignatureImage (\case WrittenSignatureImage x -> Right x; WrittenSignatureFile x -> Left (WrittenSignatureFile x))++-- | Prism+instance (Choice p, Applicative f, x' ~ WrittenSignature' a1 a2') => WrittenSignatureFileLike p f (WrittenSignature' a1 a2) x' a2 a2' where+  writtenSignatureFile = prism WrittenSignatureFile (\case WrittenSignatureImage x -> Left (WrittenSignatureImage x); WrittenSignatureFile x -> Right x)++{- | Rebuilds a value from the name of each field or constructor.++Laws:++> lawNamesWrittenSignature' == id+-}+lawNamesWrittenSignature' :: WrittenSignature' a1 a2 -> WrittenSignature' a1 a2+lawNamesWrittenSignature' = \case+  WrittenSignatureImage x -> review writtenSignatureImage x+  WrittenSignatureFile x -> review writtenSignatureFile x++-- | A valid @WrittenSignature'@.+type WrittenSignature = WrittenSignature' ByteString FilePath++-- | An unfilled @WrittenSignature'@: each field holds what has been entered, if anything, to be checked by @fillWrittenSignature@.+type UnfilledWrittenSignature = WrittenSignature' (Maybe ByteString) (Maybe FilePath)++-- | The classes that a data type holding @WrittenSignature'@ in one field, or in one or more constructors, inherits.+type InheritWrittenSignature' s a1 a2 =+  ( WrittenSignature'Like (->) (Const ()) s s a1 a1 a2 a2+  , WrittenSignatureImageLike (->) (Const ()) s s a1 a1+  , WrittenSignatureFileLike (->) (Const ()) s s a2 a2+  )++-- | Checks that a data type inherits every class of @InheritWrittenSignature'@.+inheritWrittenSignature' :: (InheritWrittenSignature' s a1 a2) => proxy s -> ()+inheritWrittenSignature' _ = ()
+ src/ReOC/Fill.hs view
@@ -0,0 +1,1136 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE LambdaCase #-}+{-# OPTIONS_GHC -Wall #-}++{- | Filling in each form type: checking an unfilled form, and either giving the valid form or every reason that+it is not valid, each at the path of its field (@fillT@ from the whole form, @fillTAt@ from a path); and+@unfillT@, the unfilled form of a valid form, which @fillT@ gives back.+-}+module ReOC.Fill (+  fillPerson,+  fillPersonAt,+  unfillPerson,+  fillAddress,+  fillAddressAt,+  unfillAddress,+  fillOperationalHeadquarters,+  fillOperationalHeadquartersAt,+  unfillOperationalHeadquarters,+  fillCompany,+  fillCompanyAt,+  unfillCompany,+  fillFlightTermination,+  fillFlightTerminationAt,+  unfillFlightTermination,+  fillEmergencyAction,+  fillEmergencyActionAt,+  unfillEmergencyAction,+  fillRPAType,+  fillRPATypeAt,+  unfillRPAType,+  fillEquipment,+  fillEquipmentAt,+  unfillEquipment,+  fillAircraft,+  fillAircraftAt,+  unfillAircraft,+  fillOperatedType,+  fillOperatedTypeAt,+  unfillOperatedType,+  fillRePLOrigin,+  fillRePLOriginAt,+  unfillRePLOrigin,+  fillOtherReOCRoles,+  fillOtherReOCRolesAt,+  unfillOtherReOCRoles,+  fillNominee,+  fillNomineeAt,+  unfillNominee,+  fillChiefExecutive,+  fillChiefExecutiveAt,+  unfillChiefExecutive,+  fillCRPNominee,+  fillCRPNomineeAt,+  unfillCRPNominee,+  fillChiefPilot,+  fillChiefPilotAt,+  unfillChiefPilot,+  fillMCNominee,+  fillMCNomineeAt,+  unfillMCNominee,+  fillKeyPersonnel,+  fillKeyPersonnelAt,+  unfillKeyPersonnel,+  fillOperator,+  fillOperatorAt,+  unfillOperator,+  fillContactPerson,+  fillContactPersonAt,+  unfillContactPerson,+  fillPrimaryContact,+  fillPrimaryContactAt,+  unfillPrimaryContact,+  fillHistoryAnswer,+  fillHistoryAnswerAt,+  unfillHistoryAnswer,+  fillPersonnelHistory,+  fillPersonnelHistoryAt,+  unfillPersonnelHistory,+  fillRegulatoryAction,+  fillRegulatoryActionAt,+  unfillRegulatoryAction,+  fillRegulatoryHistory,+  fillRegulatoryHistoryAt,+  unfillRegulatoryHistory,+  fillDeclarant,+  fillDeclarantAt,+  unfillDeclarant,+  fillDeclaration,+  fillDeclarationAt,+  unfillDeclaration,+  fillWrittenSignature,+  fillWrittenSignatureAt,+  unfillWrittenSignature,+  fillApplicationForm,+  fillApplicationFormAt,+  unfillApplicationForm,+  fillVersion,+  fillVersionAt,+  unfillVersion,+  fillFirstIssue,+  fillFirstIssueAt,+  unfillFirstIssue,+  fillRevision,+  fillRevisionAt,+  unfillRevision,+  fillPolicies,+  fillPoliciesAt,+  unfillPolicies,+  fillRiskAssessment,+  fillRiskAssessmentAt,+  unfillRiskAssessment,+  fillRisk,+  fillRiskAt,+  unfillRisk,+  fillOperationsManual,+  fillOperationsManualAt,+  unfillOperationsManual,+  fillCRINominee,+  fillCRINomineeAt,+  unfillCRINominee,+  fillRePLHolding,+  fillRePLHoldingAt,+  unfillRePLHolding,+  fillTeachingQualification,+  fillTeachingQualificationAt,+  unfillTeachingQualification,+  fillOperationalExperience,+  fillOperationalExperienceAt,+  unfillOperationalExperience,+  fillTrainingCourse,+  fillTrainingCourseAt,+  unfillTrainingCourse,+  fillTrainingArrangements,+  fillTrainingArrangementsAt,+  unfillTrainingArrangements,+  fillTrainingMaterial,+  fillTrainingMaterialAt,+  unfillTrainingMaterial,+  fillReOC,+  fillReOCAt,+  unfillReOC,+) where++import Control.Lens (preview, review)+import Data.Foldable (toList)+import Data.List.NonEmpty (NonEmpty)+import Data.Validation (Validation, toEither)+import ReOC.Input+import ReOC.Model++-- | Fills in @Person'@ from the whole form.+fillPerson :: (AsReOCError e) => UnfilledPerson -> Either (NonEmpty e) Person+fillPerson =+  toEither . fillPersonAt []++-- | Fills in @Person'@ at a path.+fillPersonAt :: (AsReOCError e) => [Step] -> UnfilledPerson -> Validation (NonEmpty e) Person+fillPersonAt p (Person' x1 x2 x3 x4) =+  Person'+    <$> required (checked (preview _FormText) InvalidFormText) (at p PersonFullName) x1+    <*> required (checked (preview _ARN) InvalidARN) (at p PersonArn) x2+    <*> required (checked parsePhoneNumber InvalidPhoneNumber) (at p PersonPhoneNumber) x3+    <*> required (checked (preview _EmailAddress) InvalidEmailAddress) (at p PersonEmailAddress) x4++-- | The unfilled form of a valid @Person'@.+unfillPerson :: Person -> UnfilledPerson+unfillPerson (Person' x1 x2 x3 x4) =+  Person'+    (Just (review _FormText x1))+    (Just (review _ARN x2))+    (Just (review _PhoneNumber x3))+    (Just (review _EmailAddress x4))++-- | Fills in @Address'@ from the whole form.+fillAddress :: (AsReOCError e) => UnfilledAddress -> Either (NonEmpty e) Address+fillAddress =+  toEither . fillAddressAt []++-- | Fills in @Address'@ at a path.+fillAddressAt :: (AsReOCError e) => [Step] -> UnfilledAddress -> Validation (NonEmpty e) Address+fillAddressAt p (Address' x1 x2 x3 x4) =+  Address'+    <$> nonEmptyElements (checked (preview _Text1) InvalidText1) (at p AddressStreetAddress) x1+    <*> required (checked (preview _Text1) InvalidText1) (at p AddressSuburb) x2+    <*> required accepted (at p AddressStateOrTerritory) x3+    <*> required (checked (preview _Postcode) InvalidPostcode) (at p AddressPostcode) x4++-- | The unfilled form of a valid @Address'@.+unfillAddress :: Address -> UnfilledAddress+unfillAddress (Address' x1 x2 x3 x4) =+  Address'+    (map (review _Text1) (toList x1))+    (Just (review _Text1 x2))+    (Just x3)+    (Just (review _Postcode x4))++-- | Fills in @OperationalHeadquarters'@ from the whole form.+fillOperationalHeadquarters :: (AsReOCError e) => UnfilledOperationalHeadquarters -> Either (NonEmpty e) OperationalHeadquarters+fillOperationalHeadquarters =+  toEither . fillOperationalHeadquartersAt []++-- | Fills in @OperationalHeadquarters'@ at a path.+fillOperationalHeadquartersAt :: (AsReOCError e) => [Step] -> UnfilledOperationalHeadquarters -> Validation (NonEmpty e) OperationalHeadquarters+fillOperationalHeadquartersAt p = \case+  AtRegisteredOffice -> pure AtRegisteredOffice+  OperationalHeadquartersAddress x -> OperationalHeadquartersAddress <$> fillAddressAt (at p OperationalHeadquartersOperationalHeadquartersAddress) x++-- | The unfilled form of a valid @OperationalHeadquarters'@.+unfillOperationalHeadquarters :: OperationalHeadquarters -> UnfilledOperationalHeadquarters+unfillOperationalHeadquarters = \case+  AtRegisteredOffice -> AtRegisteredOffice+  OperationalHeadquartersAddress x -> OperationalHeadquartersAddress (unfillAddress x)++-- | Fills in @Company'@ from the whole form.+fillCompany :: (AsReOCError e) => UnfilledCompany -> Either (NonEmpty e) Company+fillCompany =+  toEither . fillCompanyAt []++-- | Fills in @Company'@ at a path.+fillCompanyAt :: (AsReOCError e) => [Step] -> UnfilledCompany -> Validation (NonEmpty e) Company+fillCompanyAt p (Company' x1 x2 x3 x4 x5 x6 x7 x8) =+  Company'+    <$> required (checked (preview _FormText) InvalidFormText) (at p CompanyCompanyName) x1+    <*> required (checked parseABN InvalidABN) (at p CompanyAbn) x2+    <*> required (checked (preview _ARN) InvalidARN) (at p CompanyArn) x3+    <*> fillAddressAt (at p CompanyRegisteredOffice) x4+    <*> required fillOperationalHeadquartersAt (at p CompanyOperationalHeadquarters) x5+    <*> required (checked parsePhoneNumber InvalidPhoneNumber) (at p CompanyPhoneNumber) x6+    <*> required (checked (preview _EmailAddress) InvalidEmailAddress) (at p CompanyEmailAddress) x7+    <*> optional (checked (preview _FormText) InvalidFormText) (at p CompanyBusinessName) x8++-- | The unfilled form of a valid @Company'@.+unfillCompany :: Company -> UnfilledCompany+unfillCompany (Company' x1 x2 x3 x4 x5 x6 x7 x8) =+  Company'+    (Just (review _FormText x1))+    (Just (review _ABN x2))+    (Just (review _ARN x3))+    (unfillAddress x4)+    (Just (unfillOperationalHeadquarters x5))+    (Just (review _PhoneNumber x6))+    (Just (review _EmailAddress x7))+    (fmap (review _FormText) x8)++-- | Fills in @FlightTermination'@ from the whole form.+fillFlightTermination :: (AsReOCError e) => UnfilledFlightTermination -> Either (NonEmpty e) FlightTermination+fillFlightTermination =+  toEither . fillFlightTerminationAt []++-- | Fills in @FlightTermination'@ at a path.+fillFlightTerminationAt :: (AsReOCError e) => [Step] -> UnfilledFlightTermination -> Validation (NonEmpty e) FlightTermination+fillFlightTerminationAt p = \case+  NoFlightTerminationSystem -> pure NoFlightTerminationSystem+  FlightTerminationSystem x -> FlightTerminationSystem <$> required (checked (preview _Text1) InvalidText1) (at p FlightTerminationFlightTerminationSystem) x++-- | The unfilled form of a valid @FlightTermination'@.+unfillFlightTermination :: FlightTermination -> UnfilledFlightTermination+unfillFlightTermination = \case+  NoFlightTerminationSystem -> NoFlightTerminationSystem+  FlightTerminationSystem x -> FlightTerminationSystem (Just (review _Text1 x))++-- | Fills in @EmergencyAction'@ from the whole form.+fillEmergencyAction :: (AsReOCError e) => UnfilledEmergencyAction -> Either (NonEmpty e) EmergencyAction+fillEmergencyAction =+  toEither . fillEmergencyActionAt []++-- | Fills in @EmergencyAction'@ at a path.+fillEmergencyActionAt :: (AsReOCError e) => [Step] -> UnfilledEmergencyAction -> Validation (NonEmpty e) EmergencyAction+fillEmergencyActionAt p (EmergencyAction' x1 x2 x3) =+  EmergencyAction'+    <$> required (checked (preview _Text1) InvalidText1) (at p EmergencyActionSituation) x1+    <*> required (checked (preview _Text1) InvalidText1) (at p EmergencyActionResponse) x2+    <*> elements (checked (preview _Text1) InvalidText1) (at p EmergencyActionActionSteps) x3++-- | The unfilled form of a valid @EmergencyAction'@.+unfillEmergencyAction :: EmergencyAction -> UnfilledEmergencyAction+unfillEmergencyAction (EmergencyAction' x1 x2 x3) =+  EmergencyAction'+    (Just (review _Text1 x1))+    (Just (review _Text1 x2))+    (fmap (review _Text1) x3)++-- | Fills in @RPAType'@ from the whole form.+fillRPAType :: (AsReOCError e) => UnfilledRPAType -> Either (NonEmpty e) RPAType+fillRPAType =+  toEither . fillRPATypeAt []++-- | Fills in @RPAType'@ at a path.+fillRPATypeAt :: (AsReOCError e) => [Step] -> UnfilledRPAType -> Validation (NonEmpty e) RPAType+fillRPATypeAt p (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) =+  RPAType'+    <$> required (checked (preview _Text1) InvalidText1) (at p RPATypeRpaMake) x1+    <*> required (checked (preview _Text1) InvalidText1) (at p RPATypeRpaModel) x2+    <*> required (checked (preview _FormText) InvalidFormText) (at p RPATypeShortName) x3+    <*> required accepted (at p RPATypeCategory) x4+    <*> required (checked (preview _GrossWeight) InvalidGrossWeight) (at p RPATypeMaximumGrossWeight) x5+    <*> required (checked (preview _Text1) InvalidText1) (at p RPATypeUserManual) x6+    <*> required accepted (at p RPATypeTransponderCarriage) x7+    <*> required fillFlightTerminationAt (at p RPATypeFlightTermination) x8+    <*> nonEmptyElements (checked (preview _Text1) InvalidText1) (at p RPATypeInspectionItems) x9+    <*> elements (checked (preview _Text1) InvalidText1) (at p RPATypeBeforeFlight) x10+    <*> optional (checked (preview _Text1) InvalidText1) (at p RPATypeBatteryWarnings) x11+    <*> elements fillEmergencyActionAt (at p RPATypeEmergencyActions) x12++-- | The unfilled form of a valid @RPAType'@.+unfillRPAType :: RPAType -> UnfilledRPAType+unfillRPAType (RPAType' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) =+  RPAType'+    (Just (review _Text1 x1))+    (Just (review _Text1 x2))+    (Just (review _FormText x3))+    (Just x4)+    (Just (review _GrossWeight x5))+    (Just (review _Text1 x6))+    (Just x7)+    (Just (unfillFlightTermination x8))+    (map (review _Text1) (toList x9))+    (fmap (review _Text1) x10)+    (fmap (review _Text1) x11)+    (fmap unfillEmergencyAction x12)++-- | Fills in @Equipment'@ from the whole form.+fillEquipment :: (AsReOCError e) => UnfilledEquipment -> Either (NonEmpty e) Equipment+fillEquipment =+  toEither . fillEquipmentAt []++-- | Fills in @Equipment'@ at a path.+fillEquipmentAt :: (AsReOCError e) => [Step] -> UnfilledEquipment -> Validation (NonEmpty e) Equipment+fillEquipmentAt p (Equipment' x1 x2) =+  Equipment'+    <$> required (checked (preview _Text1) InvalidText1) (at p EquipmentEquipmentDescription) x1+    <*> required (checked (preview _Text1) InvalidText1) (at p EquipmentSerialNumber) x2++-- | The unfilled form of a valid @Equipment'@.+unfillEquipment :: Equipment -> UnfilledEquipment+unfillEquipment (Equipment' x1 x2) =+  Equipment'+    (Just (review _Text1 x1))+    (Just (review _Text1 x2))++-- | Fills in @Aircraft'@ from the whole form.+fillAircraft :: (AsReOCError e) => UnfilledAircraft -> Either (NonEmpty e) Aircraft+fillAircraft =+  toEither . fillAircraftAt []++-- | Fills in @Aircraft'@ at a path.+fillAircraftAt :: (AsReOCError e) => [Step] -> UnfilledAircraft -> Validation (NonEmpty e) Aircraft+fillAircraftAt p (Aircraft' x1 x2) =+  Aircraft'+    <$> required (checked (preview _Text1) InvalidText1) (at p AircraftSerialNumber) x1+    <*> elements fillEquipmentAt (at p AircraftAssociatedEquipment) x2++-- | The unfilled form of a valid @Aircraft'@.+unfillAircraft :: Aircraft -> UnfilledAircraft+unfillAircraft (Aircraft' x1 x2) =+  Aircraft'+    (Just (review _Text1 x1))+    (fmap unfillEquipment x2)++-- | Fills in @OperatedType'@ from the whole form.+fillOperatedType :: (AsReOCError e) => UnfilledOperatedType -> Either (NonEmpty e) OperatedType+fillOperatedType =+  toEither . fillOperatedTypeAt []++-- | Fills in @OperatedType'@ at a path.+fillOperatedTypeAt :: (AsReOCError e) => [Step] -> UnfilledOperatedType -> Validation (NonEmpty e) OperatedType+fillOperatedTypeAt p (OperatedType' x1 x2) =+  OperatedType'+    <$> fillRPATypeAt (at p OperatedTypeRpaType) x1+    <*> nonEmptyElements fillAircraftAt (at p OperatedTypeAirframes) x2++-- | The unfilled form of a valid @OperatedType'@.+unfillOperatedType :: OperatedType -> UnfilledOperatedType+unfillOperatedType (OperatedType' x1 x2) =+  OperatedType'+    (unfillRPAType x1)+    (map unfillAircraft (toList x2))++-- | Fills in @RePLOrigin'@ from the whole form.+fillRePLOrigin :: (AsReOCError e) => UnfilledRePLOrigin -> Either (NonEmpty e) RePLOrigin+fillRePLOrigin =+  toEither . fillRePLOriginAt []++-- | Fills in @RePLOrigin'@ at a path.+fillRePLOriginAt :: (AsReOCError e) => [Step] -> UnfilledRePLOrigin -> Validation (NonEmpty e) RePLOrigin+fillRePLOriginAt p = \case+  PPLTheory -> pure PPLTheory+  RePLTraining x -> RePLTraining <$> required (checked (preview _FormText) InvalidFormText) (at p RePLOriginRePLTrainingOrganisation) x++-- | The unfilled form of a valid @RePLOrigin'@.+unfillRePLOrigin :: RePLOrigin -> UnfilledRePLOrigin+unfillRePLOrigin = \case+  PPLTheory -> PPLTheory+  RePLTraining x -> RePLTraining (Just (review _FormText x))++-- | Fills in @OtherReOCRoles'@ from the whole form.+fillOtherReOCRoles :: (AsReOCError e) => UnfilledOtherReOCRoles -> Either (NonEmpty e) OtherReOCRoles+fillOtherReOCRoles =+  toEither . fillOtherReOCRolesAt []++-- | Fills in @OtherReOCRoles'@ at a path.+fillOtherReOCRolesAt :: (AsReOCError e) => [Step] -> UnfilledOtherReOCRoles -> Validation (NonEmpty e) OtherReOCRoles+fillOtherReOCRolesAt p = \case+  NoOtherReOCRoles -> pure NoOtherReOCRoles+  OtherReOCRolesHeld x -> OtherReOCRolesHeld <$> required (checked (preview _FormText) InvalidFormText) (at p OtherReOCRolesOtherReOCRolesHeld) x++-- | The unfilled form of a valid @OtherReOCRoles'@.+unfillOtherReOCRoles :: OtherReOCRoles -> UnfilledOtherReOCRoles+unfillOtherReOCRoles = \case+  NoOtherReOCRoles -> NoOtherReOCRoles+  OtherReOCRolesHeld x -> OtherReOCRolesHeld (Just (review _FormText x))++-- | Fills in @Nominee'@ from the whole form.+fillNominee :: (AsReOCError e) => UnfilledNominee -> Either (NonEmpty e) Nominee+fillNominee =+  toEither . fillNomineeAt []++-- | Fills in @Nominee'@ at a path.+fillNomineeAt :: (AsReOCError e) => [Step] -> UnfilledNominee -> Validation (NonEmpty e) Nominee+fillNomineeAt p (Nominee' x1 x2 x3) =+  Nominee'+    <$> fillPersonAt (at p NomineePerson) x1+    <*> elements (checked (preview _Text1) InvalidText1) (at p NomineeOtherQualifications) x2+    <*> required (checked (preview _Text1) InvalidText1) (at p NomineeAviationExperience) x3++-- | The unfilled form of a valid @Nominee'@.+unfillNominee :: Nominee -> UnfilledNominee+unfillNominee (Nominee' x1 x2 x3) =+  Nominee'+    (unfillPerson x1)+    (fmap (review _Text1) x2)+    (Just (review _Text1 x3))++-- | Fills in @ChiefExecutive'@ from the whole form.+fillChiefExecutive :: (AsReOCError e) => UnfilledChiefExecutive -> Either (NonEmpty e) ChiefExecutive+fillChiefExecutive =+  toEither . fillChiefExecutiveAt []++-- | Fills in @ChiefExecutive'@ at a path.+fillChiefExecutiveAt :: (AsReOCError e) => [Step] -> UnfilledChiefExecutive -> Validation (NonEmpty e) ChiefExecutive+fillChiefExecutiveAt p (ChiefExecutive' x1 x2 x3) =+  ChiefExecutive'+    <$> fillNomineeAt (at p ChiefExecutiveNominee) x1+    <*> required accepted (at p ChiefExecutiveDirectorStatus) x2+    <*> optional (checked (preview _FormText) InvalidFormText) (at p ChiefExecutiveManagementExperience) x3++-- | The unfilled form of a valid @ChiefExecutive'@.+unfillChiefExecutive :: ChiefExecutive -> UnfilledChiefExecutive+unfillChiefExecutive (ChiefExecutive' x1 x2 x3) =+  ChiefExecutive'+    (unfillNominee x1)+    (Just x2)+    (fmap (review _FormText) x3)++-- | Fills in @CRPNominee'@ from the whole form.+fillCRPNominee :: (AsReOCError e) => UnfilledCRPNominee -> Either (NonEmpty e) CRPNominee+fillCRPNominee =+  toEither . fillCRPNomineeAt []++-- | Fills in @CRPNominee'@ at a path.+fillCRPNomineeAt :: (AsReOCError e) => [Step] -> UnfilledCRPNominee -> Validation (NonEmpty e) CRPNominee+fillCRPNomineeAt p = \case+  CRPIsCEO -> pure CRPIsCEO+  CRPNominated x -> CRPNominated <$> fillNomineeAt (at p CRPNomineeCrpNominated) x++-- | The unfilled form of a valid @CRPNominee'@.+unfillCRPNominee :: CRPNominee -> UnfilledCRPNominee+unfillCRPNominee = \case+  CRPIsCEO -> CRPIsCEO+  CRPNominated x -> CRPNominated (unfillNominee x)++-- | Fills in @ChiefPilot'@ from the whole form.+fillChiefPilot :: (AsReOCError e) => UnfilledChiefPilot -> Either (NonEmpty e) ChiefPilot+fillChiefPilot =+  toEither . fillChiefPilotAt []++-- | Fills in @ChiefPilot'@ at a path.+fillChiefPilotAt :: (AsReOCError e) => [Step] -> UnfilledChiefPilot -> Validation (NonEmpty e) ChiefPilot+fillChiefPilotAt p (ChiefPilot' x1 x2 x3 x4 x5) =+  ChiefPilot'+    <$> required fillCRPNomineeAt (at p ChiefPilotCrpNominee) x1+    <*> required fillRePLOriginAt (at p ChiefPilotRePLOrigin) x2+    <*> required (checked (preview _FormText) InvalidFormText) (at p ChiefPilotRpaHistory) x3+    <*> required fillOtherReOCRolesAt (at p ChiefPilotOtherReOCRoles) x4+    <*> required accepted (at p ChiefPilotRadio) x5++-- | The unfilled form of a valid @ChiefPilot'@.+unfillChiefPilot :: ChiefPilot -> UnfilledChiefPilot+unfillChiefPilot (ChiefPilot' x1 x2 x3 x4 x5) =+  ChiefPilot'+    (Just (unfillCRPNominee x1))+    (Just (unfillRePLOrigin x2))+    (Just (review _FormText x3))+    (Just (unfillOtherReOCRoles x4))+    (Just x5)++-- | Fills in @MCNominee'@ from the whole form.+fillMCNominee :: (AsReOCError e) => UnfilledMCNominee -> Either (NonEmpty e) MCNominee+fillMCNominee =+  toEither . fillMCNomineeAt []++-- | Fills in @MCNominee'@ at a path.+fillMCNomineeAt :: (AsReOCError e) => [Step] -> UnfilledMCNominee -> Validation (NonEmpty e) MCNominee+fillMCNomineeAt p = \case+  MCIsCEO -> pure MCIsCEO+  MCIsCRP -> pure MCIsCRP+  MCNominated x -> MCNominated <$> fillNomineeAt (at p MCNomineeMcNominated) x++-- | The unfilled form of a valid @MCNominee'@.+unfillMCNominee :: MCNominee -> UnfilledMCNominee+unfillMCNominee = \case+  MCIsCEO -> MCIsCEO+  MCIsCRP -> MCIsCRP+  MCNominated x -> MCNominated (unfillNominee x)++-- | Fills in @KeyPersonnel'@ from the whole form.+fillKeyPersonnel :: (AsReOCError e) => UnfilledKeyPersonnel -> Either (NonEmpty e) KeyPersonnel+fillKeyPersonnel =+  toEither . fillKeyPersonnelAt []++-- | Fills in @KeyPersonnel'@ at a path.+fillKeyPersonnelAt :: (AsReOCError e) => [Step] -> UnfilledKeyPersonnel -> Validation (NonEmpty e) KeyPersonnel+fillKeyPersonnelAt p (KeyPersonnel' x1 x2 x3) =+  KeyPersonnel'+    <$> fillChiefExecutiveAt (at p KeyPersonnelChiefExecutive) x1+    <*> fillChiefPilotAt (at p KeyPersonnelChiefPilot) x2+    <*> required fillMCNomineeAt (at p KeyPersonnelMcNominee) x3++-- | The unfilled form of a valid @KeyPersonnel'@.+unfillKeyPersonnel :: KeyPersonnel -> UnfilledKeyPersonnel+unfillKeyPersonnel (KeyPersonnel' x1 x2 x3) =+  KeyPersonnel'+    (unfillChiefExecutive x1)+    (unfillChiefPilot x2)+    (Just (unfillMCNominee x3))++-- | Fills in @Operator'@ from the whole form.+fillOperator :: (AsReOCError e) => UnfilledOperator -> Either (NonEmpty e) Operator+fillOperator =+  toEither . fillOperatorAt []++-- | Fills in @Operator'@ at a path.+fillOperatorAt :: (AsReOCError e) => [Step] -> UnfilledOperator -> Validation (NonEmpty e) Operator+fillOperatorAt p (Operator' x1 x2 x3) =+  Operator'+    <$> fillCompanyAt (at p OperatorCompany) x1+    <*> fillKeyPersonnelAt (at p OperatorKeyPersonnel) x2+    <*> someElements fillOperatedTypeAt (at p OperatorFleet) x3++-- | The unfilled form of a valid @Operator'@.+unfillOperator :: Operator -> UnfilledOperator+unfillOperator (Operator' x1 x2 x3) =+  Operator'+    (unfillCompany x1)+    (unfillKeyPersonnel x2)+    (map unfillOperatedType (toList (someNonEmpty x3)))++-- | Fills in @ContactPerson'@ from the whole form.+fillContactPerson :: (AsReOCError e) => UnfilledContactPerson -> Either (NonEmpty e) ContactPerson+fillContactPerson =+  toEither . fillContactPersonAt []++-- | Fills in @ContactPerson'@ at a path.+fillContactPersonAt :: (AsReOCError e) => [Step] -> UnfilledContactPerson -> Validation (NonEmpty e) ContactPerson+fillContactPersonAt p (ContactPerson' x1 x2 x3 x4) =+  ContactPerson'+    <$> required (checked (preview _FormText) InvalidFormText) (at p ContactPersonFullName) x1+    <*> required (checked (preview _FormText) InvalidFormText) (at p ContactPersonPosition) x2+    <*> required (checked parsePhoneNumber InvalidPhoneNumber) (at p ContactPersonPhoneNumber) x3+    <*> required (checked (preview _EmailAddress) InvalidEmailAddress) (at p ContactPersonEmailAddress) x4++-- | The unfilled form of a valid @ContactPerson'@.+unfillContactPerson :: ContactPerson -> UnfilledContactPerson+unfillContactPerson (ContactPerson' x1 x2 x3 x4) =+  ContactPerson'+    (Just (review _FormText x1))+    (Just (review _FormText x2))+    (Just (review _PhoneNumber x3))+    (Just (review _EmailAddress x4))++-- | Fills in @PrimaryContact'@ from the whole form.+fillPrimaryContact :: (AsReOCError e) => UnfilledPrimaryContact -> Either (NonEmpty e) PrimaryContact+fillPrimaryContact =+  toEither . fillPrimaryContactAt []++-- | Fills in @PrimaryContact'@ at a path.+fillPrimaryContactAt :: (AsReOCError e) => [Step] -> UnfilledPrimaryContact -> Validation (NonEmpty e) PrimaryContact+fillPrimaryContactAt p = \case+  ApplicantIsPrimaryContact -> pure ApplicantIsPrimaryContact+  PrimaryContactPerson x -> PrimaryContactPerson <$> fillContactPersonAt (at p PrimaryContactPrimaryContactPerson) x++-- | The unfilled form of a valid @PrimaryContact'@.+unfillPrimaryContact :: PrimaryContact -> UnfilledPrimaryContact+unfillPrimaryContact = \case+  ApplicantIsPrimaryContact -> ApplicantIsPrimaryContact+  PrimaryContactPerson x -> PrimaryContactPerson (unfillContactPerson x)++-- | Fills in @HistoryAnswer'@ from the whole form.+fillHistoryAnswer :: (AsReOCError e) => UnfilledHistoryAnswer -> Either (NonEmpty e) HistoryAnswer+fillHistoryAnswer =+  toEither . fillHistoryAnswerAt []++-- | Fills in @HistoryAnswer'@ at a path.+fillHistoryAnswerAt :: (AsReOCError e) => [Step] -> UnfilledHistoryAnswer -> Validation (NonEmpty e) HistoryAnswer+fillHistoryAnswerAt p = \case+  NoHistory -> pure NoHistory+  HistoryDisclosed x -> HistoryDisclosed <$> required (checked (preview _FormText) InvalidFormText) (at p HistoryAnswerHistoryDisclosed) x++-- | The unfilled form of a valid @HistoryAnswer'@.+unfillHistoryAnswer :: HistoryAnswer -> UnfilledHistoryAnswer+unfillHistoryAnswer = \case+  NoHistory -> NoHistory+  HistoryDisclosed x -> HistoryDisclosed (Just (review _FormText x))++-- | Fills in @PersonnelHistory'@ from the whole form.+fillPersonnelHistory :: (AsReOCError e) => UnfilledPersonnelHistory -> Either (NonEmpty e) PersonnelHistory+fillPersonnelHistory =+  toEither . fillPersonnelHistoryAt []++-- | Fills in @PersonnelHistory'@ at a path.+fillPersonnelHistoryAt :: (AsReOCError e) => [Step] -> UnfilledPersonnelHistory -> Validation (NonEmpty e) PersonnelHistory+fillPersonnelHistoryAt p (PersonnelHistory' x1 x2 x3 x4) =+  PersonnelHistory'+    <$> required fillHistoryAnswerAt (at p PersonnelHistoryActionTaken) x1+    <*> required fillHistoryAnswerAt (at p PersonnelHistoryTransportLicenceRefused) x2+    <*> required fillHistoryAnswerAt (at p PersonnelHistoryCriminalConviction) x3+    <*> required fillHistoryAnswerAt (at p PersonnelHistorySuspensionPending) x4++-- | The unfilled form of a valid @PersonnelHistory'@.+unfillPersonnelHistory :: PersonnelHistory -> UnfilledPersonnelHistory+unfillPersonnelHistory (PersonnelHistory' x1 x2 x3 x4) =+  PersonnelHistory'+    (Just (unfillHistoryAnswer x1))+    (Just (unfillHistoryAnswer x2))+    (Just (unfillHistoryAnswer x3))+    (Just (unfillHistoryAnswer x4))++-- | Fills in @RegulatoryAction'@ from the whole form.+fillRegulatoryAction :: (AsReOCError e) => UnfilledRegulatoryAction -> Either (NonEmpty e) RegulatoryAction+fillRegulatoryAction =+  toEither . fillRegulatoryActionAt []++-- | Fills in @RegulatoryAction'@ at a path.+fillRegulatoryActionAt :: (AsReOCError e) => [Step] -> UnfilledRegulatoryAction -> Validation (NonEmpty e) RegulatoryAction+fillRegulatoryActionAt p (RegulatoryAction' x1 x2 x3 x4 x5) =+  RegulatoryAction'+    <$> required accepted (at p RegulatoryActionReocSuspendedOrCancelled) x1+    <*> required (checked (preview _FormText) InvalidFormText) (at p RegulatoryActionTypeOfAction) x2+    <*> required (checked (preview _FormText) InvalidFormText) (at p RegulatoryActionAuthorisationAction) x3+    <*> required accepted (at p RegulatoryActionActionDate) x4+    <*> required (checked (preview _FormText) InvalidFormText) (at p RegulatoryActionActionDetails) x5++-- | The unfilled form of a valid @RegulatoryAction'@.+unfillRegulatoryAction :: RegulatoryAction -> UnfilledRegulatoryAction+unfillRegulatoryAction (RegulatoryAction' x1 x2 x3 x4 x5) =+  RegulatoryAction'+    (Just x1)+    (Just (review _FormText x2))+    (Just (review _FormText x3))+    (Just x4)+    (Just (review _FormText x5))++-- | Fills in @RegulatoryHistory'@ from the whole form.+fillRegulatoryHistory :: (AsReOCError e) => UnfilledRegulatoryHistory -> Either (NonEmpty e) RegulatoryHistory+fillRegulatoryHistory =+  toEither . fillRegulatoryHistoryAt []++-- | Fills in @RegulatoryHistory'@ at a path.+fillRegulatoryHistoryAt :: (AsReOCError e) => [Step] -> UnfilledRegulatoryHistory -> Validation (NonEmpty e) RegulatoryHistory+fillRegulatoryHistoryAt p = \case+  NoRegulatoryAction -> pure NoRegulatoryAction+  RegulatoryActionTaken x -> RegulatoryActionTaken <$> fillRegulatoryActionAt (at p RegulatoryHistoryRegulatoryActionTaken) x++-- | The unfilled form of a valid @RegulatoryHistory'@.+unfillRegulatoryHistory :: RegulatoryHistory -> UnfilledRegulatoryHistory+unfillRegulatoryHistory = \case+  NoRegulatoryAction -> NoRegulatoryAction+  RegulatoryActionTaken x -> RegulatoryActionTaken (unfillRegulatoryAction x)++-- | Fills in @Declarant'@ from the whole form.+fillDeclarant :: (AsReOCError e) => UnfilledDeclarant -> Either (NonEmpty e) Declarant+fillDeclarant =+  toEither . fillDeclarantAt []++-- | Fills in @Declarant'@ at a path.+fillDeclarantAt :: (AsReOCError e) => [Step] -> UnfilledDeclarant -> Validation (NonEmpty e) Declarant+fillDeclarantAt p (Declarant' x1 x2) =+  Declarant'+    <$> required (checked (preview _FormText) InvalidFormText) (at p DeclarantFullName) x1+    <*> required (checked (preview _FormText) InvalidFormText) (at p DeclarantRole) x2++-- | The unfilled form of a valid @Declarant'@.+unfillDeclarant :: Declarant -> UnfilledDeclarant+unfillDeclarant (Declarant' x1 x2) =+  Declarant'+    (Just (review _FormText x1))+    (Just (review _FormText x2))++-- | Fills in @Declaration'@ from the whole form.+fillDeclaration :: (AsReOCError e) => UnfilledDeclaration -> Either (NonEmpty e) Declaration+fillDeclaration =+  toEither . fillDeclarationAt []++-- | Fills in @Declaration'@ at a path.+fillDeclarationAt :: (AsReOCError e) => [Step] -> UnfilledDeclaration -> Validation (NonEmpty e) Declaration+fillDeclarationAt p = \case+  DeclaredByCEO -> pure DeclaredByCEO+  DeclaredByResponsibleManager x -> DeclaredByResponsibleManager <$> required (checked (preview _FormText) InvalidFormText) (at p DeclarationDeclaredByResponsibleManager) x+  DeclaredByAgent x -> DeclaredByAgent <$> required (checked (preview _FormText) InvalidFormText) (at p DeclarationDeclaredByAgent) x+  DeclaredByOther x -> DeclaredByOther <$> fillDeclarantAt (at p DeclarationDeclaredByOther) x++-- | The unfilled form of a valid @Declaration'@.+unfillDeclaration :: Declaration -> UnfilledDeclaration+unfillDeclaration = \case+  DeclaredByCEO -> DeclaredByCEO+  DeclaredByResponsibleManager x -> DeclaredByResponsibleManager (Just (review _FormText x))+  DeclaredByAgent x -> DeclaredByAgent (Just (review _FormText x))+  DeclaredByOther x -> DeclaredByOther (unfillDeclarant x)++-- | Fills in @WrittenSignature'@ from the whole form.+fillWrittenSignature :: (AsReOCError e) => UnfilledWrittenSignature -> Either (NonEmpty e) WrittenSignature+fillWrittenSignature =+  toEither . fillWrittenSignatureAt []++-- | Fills in @WrittenSignature'@ at a path.+fillWrittenSignatureAt :: (AsReOCError e) => [Step] -> UnfilledWrittenSignature -> Validation (NonEmpty e) WrittenSignature+fillWrittenSignatureAt p = \case+  WrittenSignatureImage x -> WrittenSignatureImage <$> required accepted (at p WrittenSignatureWrittenSignatureImage) x+  WrittenSignatureFile x -> WrittenSignatureFile <$> required accepted (at p WrittenSignatureWrittenSignatureFile) x++-- | The unfilled form of a valid @WrittenSignature'@.+unfillWrittenSignature :: WrittenSignature -> UnfilledWrittenSignature+unfillWrittenSignature = \case+  WrittenSignatureImage x -> WrittenSignatureImage (Just x)+  WrittenSignatureFile x -> WrittenSignatureFile (Just x)++-- | Fills in @ApplicationForm'@ from the whole form.+fillApplicationForm :: (AsReOCError e) => UnfilledApplicationForm -> Either (NonEmpty e) ApplicationForm+fillApplicationForm =+  toEither . fillApplicationFormAt []++-- | Fills in @ApplicationForm'@ at a path.+fillApplicationFormAt :: (AsReOCError e) => [Step] -> UnfilledApplicationForm -> Validation (NonEmpty e) ApplicationForm+fillApplicationFormAt p (ApplicationForm' x1 x2 x3 x4 x5 x6 x7) =+  ApplicationForm'+    <$> required fillPrimaryContactAt (at p ApplicationFormPrimaryContact) x1+    <*> fillPersonnelHistoryAt (at p ApplicationFormPersonnelHistory) x2+    <*> required fillRegulatoryHistoryAt (at p ApplicationFormRegulatoryHistory) x3+    <*> required accepted (at p ApplicationFormProceduresLibrary) x4+    <*> atMostElements (checked (preview _FormText) InvalidFormText) (at p ApplicationFormOtherDocuments) x5+    <*> required fillDeclarationAt (at p ApplicationFormDeclaration) x6+    <*> optional fillWrittenSignatureAt (at p ApplicationFormSignature) x7++-- | The unfilled form of a valid @ApplicationForm'@.+unfillApplicationForm :: ApplicationForm -> UnfilledApplicationForm+unfillApplicationForm (ApplicationForm' x1 x2 x3 x4 x5 x6 x7) =+  ApplicationForm'+    (Just (unfillPrimaryContact x1))+    (unfillPersonnelHistory x2)+    (Just (unfillRegulatoryHistory x3))+    (Just x4)+    (map (review _FormText) (atMostList x5))+    (Just (unfillDeclaration x6))+    (fmap unfillWrittenSignature x7)++-- | Fills in @Version'@ from the whole form.+fillVersion :: (AsReOCError e) => UnfilledVersion -> Either (NonEmpty e) Version+fillVersion =+  toEither . fillVersionAt []++-- | Fills in @Version'@ at a path.+fillVersionAt :: (AsReOCError e) => [Step] -> UnfilledVersion -> Validation (NonEmpty e) Version+fillVersionAt p (Version' x1 x2) =+  Version'+    <$> required accepted (at p VersionMajorVersion) x1+    <*> required accepted (at p VersionMinorVersion) x2++-- | The unfilled form of a valid @Version'@.+unfillVersion :: Version -> UnfilledVersion+unfillVersion (Version' x1 x2) =+  Version'+    (Just x1)+    (Just x2)++-- | Fills in @FirstIssue'@ from the whole form.+fillFirstIssue :: (AsReOCError e) => UnfilledFirstIssue -> Either (NonEmpty e) FirstIssue+fillFirstIssue =+  toEither . fillFirstIssueAt []++-- | Fills in @FirstIssue'@ at a path.+fillFirstIssueAt :: (AsReOCError e) => [Step] -> UnfilledFirstIssue -> Validation (NonEmpty e) FirstIssue+fillFirstIssueAt p (FirstIssue' x1 x2 x3 x4 x5) =+  FirstIssue'+    <$> fillVersionAt (at p FirstIssueVersion) x1+    <*> required accepted (at p FirstIssueIssueDate) x2+    <*> required (checked (preview _Text1) InvalidText1) (at p FirstIssueEffective) x3+    <*> required (checked (preview _Text1) InvalidText1) (at p FirstIssueParts) x4+    <*> required (checked (preview _Text1) InvalidText1) (at p FirstIssueDetails) x5++-- | The unfilled form of a valid @FirstIssue'@.+unfillFirstIssue :: FirstIssue -> UnfilledFirstIssue+unfillFirstIssue (FirstIssue' x1 x2 x3 x4 x5) =+  FirstIssue'+    (unfillVersion x1)+    (Just x2)+    (Just (review _Text1 x3))+    (Just (review _Text1 x4))+    (Just (review _Text1 x5))++-- | Fills in @Revision'@ from the whole form.+fillRevision :: (AsReOCError e) => UnfilledRevision -> Either (NonEmpty e) Revision+fillRevision =+  toEither . fillRevisionAt []++-- | Fills in @Revision'@ at a path.+fillRevisionAt :: (AsReOCError e) => [Step] -> UnfilledRevision -> Validation (NonEmpty e) Revision+fillRevisionAt p (Revision' x1 x2 x3 x4 x5) =+  Revision'+    <$> required accepted (at p RevisionVersionIncrement) x1+    <*> required accepted (at p RevisionMonthsAfter) x2+    <*> required (checked (preview _Text1) InvalidText1) (at p RevisionEffective) x3+    <*> required (checked (preview _Text1) InvalidText1) (at p RevisionParts) x4+    <*> required (checked (preview _Text1) InvalidText1) (at p RevisionDetails) x5++-- | The unfilled form of a valid @Revision'@.+unfillRevision :: Revision -> UnfilledRevision+unfillRevision (Revision' x1 x2 x3 x4 x5) =+  Revision'+    (Just x1)+    (Just x2)+    (Just (review _Text1 x3))+    (Just (review _Text1 x4))+    (Just (review _Text1 x5))++-- | Fills in @Policies'@ from the whole form.+fillPolicies :: (AsReOCError e) => UnfilledPolicies -> Either (NonEmpty e) Policies+fillPolicies =+  toEither . fillPoliciesAt []++-- | Fills in @Policies'@ at a path.+fillPoliciesAt :: (AsReOCError e) => [Step] -> UnfilledPolicies -> Validation (NonEmpty e) Policies+fillPoliciesAt p (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) =+  Policies'+    <$> required (checked (preview _Positive) InvalidPositive) (at p PoliciesRecencyFlights) x1+    <*> required (checked (preview _Positive) InvalidPositive) (at p PoliciesRecencyDays) x2+    <*> required (checked (preview _Positive) InvalidPositive) (at p PoliciesRefresherMonths) x3+    <*> required (checked (preview _Positive) InvalidPositive) (at p PoliciesAlcoholHours) x4+    <*> required (checked (preview _Positive) InvalidPositive) (at p PoliciesRestHours) x5+    <*> required (checked (preview _Positive) InvalidPositive) (at p PoliciesDutyHours) x6+    <*> required (checked (preview _Positive) InvalidPositive) (at p PoliciesInspectionMonths) x7+    <*> required (checked (preview _Positive) InvalidPositive) (at p PoliciesInspectionHours) x8+    <*> required (checked (preview _Percentage) InvalidPercentage) (at p PoliciesBatteryReserve) x9+    <*> required accepted (at p PoliciesBackupFrequency) x10+    <*> required (checked (preview _Positive) InvalidPositive) (at p PoliciesIndependentReviewYears) x11+    <*> required (checked (preview _Positive) InvalidPositive) (at p PoliciesCheckingMonths) x12++-- | The unfilled form of a valid @Policies'@.+unfillPolicies :: Policies -> UnfilledPolicies+unfillPolicies (Policies' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) =+  Policies'+    (Just (review _Positive x1))+    (Just (review _Positive x2))+    (Just (review _Positive x3))+    (Just (review _Positive x4))+    (Just (review _Positive x5))+    (Just (review _Positive x6))+    (Just (review _Positive x7))+    (Just (review _Positive x8))+    (Just (review _Percentage x9))+    (Just x10)+    (Just (review _Positive x11))+    (Just (review _Positive x12))++-- | Fills in @RiskAssessment'@ from the whole form.+fillRiskAssessment :: (AsReOCError e) => UnfilledRiskAssessment -> Either (NonEmpty e) RiskAssessment+fillRiskAssessment =+  toEither . fillRiskAssessmentAt []++-- | Fills in @RiskAssessment'@ at a path.+fillRiskAssessmentAt :: (AsReOCError e) => [Step] -> UnfilledRiskAssessment -> Validation (NonEmpty e) RiskAssessment+fillRiskAssessmentAt p (RiskAssessment' x1 x2) =+  RiskAssessment'+    <$> required accepted (at p RiskAssessmentRiskLikelihood) x1+    <*> required accepted (at p RiskAssessmentRiskConsequence) x2++-- | The unfilled form of a valid @RiskAssessment'@.+unfillRiskAssessment :: RiskAssessment -> UnfilledRiskAssessment+unfillRiskAssessment (RiskAssessment' x1 x2) =+  RiskAssessment'+    (Just x1)+    (Just x2)++-- | Fills in @Risk'@ from the whole form.+fillRisk :: (AsReOCError e) => UnfilledRisk -> Either (NonEmpty e) Risk+fillRisk =+  toEither . fillRiskAt []++-- | Fills in @Risk'@ at a path.+fillRiskAt :: (AsReOCError e) => [Step] -> UnfilledRisk -> Validation (NonEmpty e) Risk+fillRiskAt p (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) =+  Risk'+    <$> required (checked (preview _Text1) InvalidText1) (at p RiskHazard) x1+    <*> required (checked (preview _Text1) InvalidText1) (at p RiskRiskDescription) x2+    <*> required (checked (preview _Text1) InvalidText1) (at p RiskExistingControls) x3+    <*> fillRiskAssessmentAt (at p RiskInitialRisk) x4+    <*> required (checked (preview _Text1) InvalidText1) (at p RiskAdditionalControls) x5+    <*> fillRiskAssessmentAt (at p RiskResidualRisk) x6+    <*> required accepted (at p RiskRiskOwner) x7+    <*> required accepted (at p RiskDateEntered) x8+    <*> required (checked (preview _ReviewMonths) InvalidReviewMonths) (at p RiskReviewMonths) x9++-- | The unfilled form of a valid @Risk'@.+unfillRisk :: Risk -> UnfilledRisk+unfillRisk (Risk' x1 x2 x3 x4 x5 x6 x7 x8 x9) =+  Risk'+    (Just (review _Text1 x1))+    (Just (review _Text1 x2))+    (Just (review _Text1 x3))+    (unfillRiskAssessment x4)+    (Just (review _Text1 x5))+    (unfillRiskAssessment x6)+    (Just x7)+    (Just x8)+    (Just (review _ReviewMonths x9))++-- | Fills in @OperationsManual'@ from the whole form.+fillOperationsManual :: (AsReOCError e) => UnfilledOperationsManual -> Either (NonEmpty e) OperationsManual+fillOperationsManual =+  toEither . fillOperationsManualAt []++-- | Fills in @OperationsManual'@ at a path.+fillOperationsManualAt :: (AsReOCError e) => [Step] -> UnfilledOperationsManual -> Validation (NonEmpty e) OperationsManual+fillOperationsManualAt p (OperationsManual' x1 x2 x3 x4 x5 x6 x7) =+  OperationsManual'+    <$> fillFirstIssueAt (at p OperationsManualFirstIssue) x1+    <*> elements fillRevisionAt (at p OperationsManualRevisions) x2+    <*> nonEmptyElements (checked (preview _Text1) InvalidText1) (at p OperationsManualServices) x3+    <*> fillPoliciesAt (at p OperationsManualPolicies) x4+    <*> nonEmptyElements fillRiskAt (at p OperationsManualRiskRegister) x5+    <*> required accepted (at p OperationsManualCrew) x6+    <*> required accepted (at p OperationsManualPilots) x7++-- | The unfilled form of a valid @OperationsManual'@.+unfillOperationsManual :: OperationsManual -> UnfilledOperationsManual+unfillOperationsManual (OperationsManual' x1 x2 x3 x4 x5 x6 x7) =+  OperationsManual'+    (unfillFirstIssue x1)+    (fmap unfillRevision x2)+    (map (review _Text1) (toList x3))+    (unfillPolicies x4)+    (map unfillRisk (toList x5))+    (Just x6)+    (Just x7)++-- | Fills in @CRINominee'@ from the whole form.+fillCRINominee :: (AsReOCError e) => UnfilledCRINominee -> Either (NonEmpty e) CRINominee+fillCRINominee =+  toEither . fillCRINomineeAt []++-- | Fills in @CRINominee'@ at a path.+fillCRINomineeAt :: (AsReOCError e) => [Step] -> UnfilledCRINominee -> Validation (NonEmpty e) CRINominee+fillCRINomineeAt p = \case+  CRIIsCEO -> pure CRIIsCEO+  CRIIsCRP -> pure CRIIsCRP+  CRIIsMC -> pure CRIIsMC+  CRINominated x -> CRINominated <$> fillNomineeAt (at p CRINomineeCriNominated) x++-- | The unfilled form of a valid @CRINominee'@.+unfillCRINominee :: CRINominee -> UnfilledCRINominee+unfillCRINominee = \case+  CRIIsCEO -> CRIIsCEO+  CRIIsCRP -> CRIIsCRP+  CRIIsMC -> CRIIsMC+  CRINominated x -> CRINominated (unfillNominee x)++-- | Fills in @RePLHolding'@ from the whole form.+fillRePLHolding :: (AsReOCError e) => UnfilledRePLHolding -> Either (NonEmpty e) RePLHolding+fillRePLHolding =+  toEither . fillRePLHoldingAt []++-- | Fills in @RePLHolding'@ at a path.+fillRePLHoldingAt :: (AsReOCError e) => [Step] -> UnfilledRePLHolding -> Validation (NonEmpty e) RePLHolding+fillRePLHoldingAt p = \case+  HoldsRePLForEachType -> pure HoldsRePLForEachType+  RePLHoldingIntent x -> RePLHoldingIntent <$> required (checked (preview _FormText) InvalidFormText) (at p RePLHoldingRePLHoldingIntent) x++-- | The unfilled form of a valid @RePLHolding'@.+unfillRePLHolding :: RePLHolding -> UnfilledRePLHolding+unfillRePLHolding = \case+  HoldsRePLForEachType -> HoldsRePLForEachType+  RePLHoldingIntent x -> RePLHoldingIntent (Just (review _FormText x))++-- | Fills in @TeachingQualification'@ from the whole form.+fillTeachingQualification :: (AsReOCError e) => UnfilledTeachingQualification -> Either (NonEmpty e) TeachingQualification+fillTeachingQualification =+  toEither . fillTeachingQualificationAt []++-- | Fills in @TeachingQualification'@ at a path.+fillTeachingQualificationAt :: (AsReOCError e) => [Step] -> UnfilledTeachingQualification -> Validation (NonEmpty e) TeachingQualification+fillTeachingQualificationAt p = \case+  TeachingQualificationHeld x -> TeachingQualificationHeld <$> required (checked (preview _FormText) InvalidFormText) (at p TeachingQualificationTeachingQualificationHeld) x+  TeachingQualificationIntent x -> TeachingQualificationIntent <$> required (checked (preview _FormText) InvalidFormText) (at p TeachingQualificationTeachingQualificationIntent) x++-- | The unfilled form of a valid @TeachingQualification'@.+unfillTeachingQualification :: TeachingQualification -> UnfilledTeachingQualification+unfillTeachingQualification = \case+  TeachingQualificationHeld x -> TeachingQualificationHeld (Just (review _FormText x))+  TeachingQualificationIntent x -> TeachingQualificationIntent (Just (review _FormText x))++-- | Fills in @OperationalExperience'@ from the whole form.+fillOperationalExperience :: (AsReOCError e) => UnfilledOperationalExperience -> Either (NonEmpty e) OperationalExperience+fillOperationalExperience =+  toEither . fillOperationalExperienceAt []++-- | Fills in @OperationalExperience'@ at a path.+fillOperationalExperienceAt :: (AsReOCError e) => [Step] -> UnfilledOperationalExperience -> Validation (NonEmpty e) OperationalExperience+fillOperationalExperienceAt p = \case+  HasOperationalExperience -> pure HasOperationalExperience+  OperationalExperienceIntent x -> OperationalExperienceIntent <$> required (checked (preview _FormText) InvalidFormText) (at p OperationalExperienceOperationalExperienceIntent) x+  OperationalExperienceNotApplicable -> pure OperationalExperienceNotApplicable++-- | The unfilled form of a valid @OperationalExperience'@.+unfillOperationalExperience :: OperationalExperience -> UnfilledOperationalExperience+unfillOperationalExperience = \case+  HasOperationalExperience -> HasOperationalExperience+  OperationalExperienceIntent x -> OperationalExperienceIntent (Just (review _FormText x))+  OperationalExperienceNotApplicable -> OperationalExperienceNotApplicable++-- | Fills in @TrainingCourse'@ from the whole form.+fillTrainingCourse :: (AsReOCError e) => UnfilledTrainingCourse -> Either (NonEmpty e) TrainingCourse+fillTrainingCourse =+  toEither . fillTrainingCourseAt []++-- | Fills in @TrainingCourse'@ at a path.+fillTrainingCourseAt :: (AsReOCError e) => [Step] -> UnfilledTrainingCourse -> Validation (NonEmpty e) TrainingCourse+fillTrainingCourseAt p (TrainingCourse' x1 x2 x3) =+  TrainingCourse'+    <$> required accepted (at p TrainingCourseCourseKind) x1+    <*> fillOperatedTypeAt (at p TrainingCourseTrainingRPA) x2+    <*> nonEmptyElements accepted (at p TrainingCourseComplexities) x3++-- | The unfilled form of a valid @TrainingCourse'@.+unfillTrainingCourse :: TrainingCourse -> UnfilledTrainingCourse+unfillTrainingCourse (TrainingCourse' x1 x2 x3) =+  TrainingCourse'+    (Just x1)+    (unfillOperatedType x2)+    (toList x3)++-- | Fills in @TrainingArrangements'@ from the whole form.+fillTrainingArrangements :: (AsReOCError e) => UnfilledTrainingArrangements -> Either (NonEmpty e) TrainingArrangements+fillTrainingArrangements =+  toEither . fillTrainingArrangementsAt []++-- | Fills in @TrainingArrangements'@ at a path.+fillTrainingArrangementsAt :: (AsReOCError e) => [Step] -> UnfilledTrainingArrangements -> Validation (NonEmpty e) TrainingArrangements+fillTrainingArrangementsAt p (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) =+  TrainingArrangements'+    <$> nonEmptyElements (checked (preview _Text1) InvalidText1) (at p TrainingArrangementsTheoryVenues) x1+    <*> nonEmptyElements (checked (preview _Text1) InvalidText1) (at p TrainingArrangementsPracticalAreas) x2+    <*> required (checked (preview _Positive) InvalidPositive) (at p TrainingArrangementsMaxStudentsPerCourse) x3+    <*> required (checked (preview _Positive) InvalidPositive) (at p TrainingArrangementsMaxStudentsPerInstructor) x4+    <*> required accepted (at p TrainingArrangementsTakeover) x5+    <*> required accepted (at p TrainingArrangementsTheory) x6+    <*> required accepted (at p TrainingArrangementsExam) x7+    <*> required (checked (preview _PassMark) InvalidPassMark) (at p TrainingArrangementsExamPassMark) x8+    <*> required accepted (at p TrainingArrangementsExaminer) x9+    <*> optional (checked (preview _Text1) InvalidText1) (at p TrainingArrangementsSimulator) x10++-- | The unfilled form of a valid @TrainingArrangements'@.+unfillTrainingArrangements :: TrainingArrangements -> UnfilledTrainingArrangements+unfillTrainingArrangements (TrainingArrangements' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10) =+  TrainingArrangements'+    (map (review _Text1) (toList x1))+    (map (review _Text1) (toList x2))+    (Just (review _Positive x3))+    (Just (review _Positive x4))+    (Just x5)+    (Just x6)+    (Just x7)+    (Just (review _PassMark x8))+    (Just x9)+    (fmap (review _Text1) x10)++-- | Fills in @TrainingMaterial'@ from the whole form.+fillTrainingMaterial :: (AsReOCError e) => UnfilledTrainingMaterial -> Either (NonEmpty e) TrainingMaterial+fillTrainingMaterial =+  toEither . fillTrainingMaterialAt []++-- | Fills in @TrainingMaterial'@ at a path.+fillTrainingMaterialAt :: (AsReOCError e) => [Step] -> UnfilledTrainingMaterial -> Validation (NonEmpty e) TrainingMaterial+fillTrainingMaterialAt p (TrainingMaterial' x1 x2 x3 x4 x5 x6 x7) =+  TrainingMaterial'+    <$> required fillCRINomineeAt (at p TrainingMaterialCriNominee) x1+    <*> required fillRePLHoldingAt (at p TrainingMaterialRePLHolding) x2+    <*> required fillTeachingQualificationAt (at p TrainingMaterialTeachingQualification) x3+    <*> required fillOperationalExperienceAt (at p TrainingMaterialOperationalExperience) x4+    <*> required fillOtherReOCRolesAt (at p TrainingMaterialCriOtherReOCRoles) x5+    <*> someElements fillTrainingCourseAt (at p TrainingMaterialTrainingCourses) x6+    <*> fillTrainingArrangementsAt (at p TrainingMaterialTrainingArrangements) x7++-- | The unfilled form of a valid @TrainingMaterial'@.+unfillTrainingMaterial :: TrainingMaterial -> UnfilledTrainingMaterial+unfillTrainingMaterial (TrainingMaterial' x1 x2 x3 x4 x5 x6 x7) =+  TrainingMaterial'+    (Just (unfillCRINominee x1))+    (Just (unfillRePLHolding x2))+    (Just (unfillTeachingQualification x3))+    (Just (unfillOperationalExperience x4))+    (Just (unfillOtherReOCRoles x5))+    (map unfillTrainingCourse (toList (someNonEmpty x6)))+    (unfillTrainingArrangements x7)++-- | Fills in @ReOC'@ from the whole form.+fillReOC :: (AsReOCError e) => UnfilledReOC -> Either (NonEmpty e) ReOC+fillReOC =+  toEither . fillReOCAt []++-- | Fills in @ReOC'@ at a path.+fillReOCAt :: (AsReOCError e) => [Step] -> UnfilledReOC -> Validation (NonEmpty e) ReOC+fillReOCAt p (ReOC' x1 x2 x3 x4) =+  ReOC'+    <$> fillOperatorAt (at p ReOCOperator) x1+    <*> fillApplicationFormAt (at p ReOCApplicationForm) x2+    <*> fillOperationsManualAt (at p ReOCOperationsManual) x3+    <*> optional fillTrainingMaterialAt (at p ReOCMaybeTrainingMaterial) x4++-- | The unfilled form of a valid @ReOC'@.+unfillReOC :: ReOC -> UnfilledReOC+unfillReOC (ReOC' x1 x2 x3 x4) =+  ReOC'+    (unfillOperator x1)+    (unfillApplicationForm x2)+    (unfillOperationsManual x3)+    (fmap unfillTrainingMaterial x4)
+ src/ReOC/Help.hs view
@@ -0,0 +1,559 @@+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -Wall #-}++-- | The help text and label of each field of the form types.+module ReOC.Help (+  fieldHelp,+  fieldLabel,+  fieldOf,+) where++import Data.Text (Text)+import ReOC.Data.Field (Field (..))++-- | The help text of a field: what to enter.+fieldHelp :: Field -> Text+fieldHelp = \case+  PersonFullName -> "The person’s full name, as on their identification."+  PersonArn -> "The person’s CASA aviation reference number (ARN)."+  PersonPhoneNumber -> "The person’s Australian phone number."+  PersonEmailAddress -> "The person’s email address."+  AddressStreetAddress -> "The lines of the street address, such as unit and street; one or more."+  AddressSuburb -> "The suburb or town."+  AddressStateOrTerritory -> "The state or territory."+  AddressPostcode -> "The four-digit postcode."+  OperationalHeadquartersAtRegisteredOffice -> "The operational headquarters is at the registered office."+  OperationalHeadquartersOperationalHeadquartersAddress -> "The operational headquarters is at another address."+  CompanyCompanyName -> "The company’s name, without “Pty Ltd” (CASA Form 101-02, question 1)."+  CompanyAbn -> "The company’s Australian business number (ABN)."+  CompanyArn -> "The company’s CASA aviation reference number (ARN)."+  CompanyRegisteredOffice -> "The address of the company’s registered office."+  CompanyOperationalHeadquarters -> "Where the operational headquarters is: at the registered office, or at another address."+  CompanyPhoneNumber -> "The phone number of the operational headquarters."+  CompanyEmailAddress -> "The email address of the operational headquarters."+  CompanyBusinessName -> "A registered business name that the company trades under, if any."+  FlightTerminationNoFlightTerminationSystem -> "The RPA has no dedicated flight termination system."+  FlightTerminationFlightTerminationSystem -> "A description of the RPA’s flight termination system, such as a parachute and how it is deployed."+  EmergencyActionSituation -> "The emergency, such as loss of command link."+  EmergencyActionResponse -> "What the RPA does in the emergency, and what the remote pilot must do."+  EmergencyActionActionSteps -> "Further steps the remote pilot takes, one for each item; may be none."+  RPATypeRpaMake -> "The manufacturer of the RPA, such as DJI."+  RPATypeRpaModel -> "The model of the RPA, such as Matrice 350 RTK."+  RPATypeShortName -> "A short name for the type, such as DJI M350 RTK, which must fit the make and model cell of question 27."+  RPATypeCategory -> "The category of the RPA: aeroplane, helicopter, multirotor or powered-lift."+  RPATypeMaximumGrossWeight -> "The maximum gross (take-off) weight in grams, from 1 g to 25 kg."+  RPATypeUserManual -> "The title of the manufacturer’s manual that the RPA is operated in accordance with."+  RPATypeTransponderCarriage -> "Whether the RPA is fitted with a transponder or ADS-B (out)."+  RPATypeFlightTermination -> "Whether the RPA has a dedicated flight termination system."+  RPATypeInspectionItems -> "What the periodic inspection of the RPA covers; one or more items."+  RPATypeBeforeFlight -> "Requirements before flight that supplement the manufacturer’s instructions; may be none."+  RPATypeBatteryWarnings -> "How the RPA warns of and responds to low battery, if it does."+  RPATypeEmergencyActions -> "The emergency actions for the type; may be none."+  EquipmentEquipmentDescription -> "What the equipment is, such as a remote controller."+  EquipmentSerialNumber -> "The serial number of the equipment."+  AircraftSerialNumber -> "The serial number of the RPA."+  AircraftAssociatedEquipment -> "Equipment used with the RPA, such as cameras and remote controllers; may be none."+  OperatedTypeRpaType -> "The type of RPA."+  OperatedTypeAirframes -> "Each RPA of the type; one or more."+  RePLOriginPplTheory -> "The initial RePL was obtained through private pilot licence theory."+  RePLOriginRePLTrainingOrganisation -> "The name of the RePL training organisation where the initial RePL was obtained."+  OtherReOCRolesNoOtherReOCRoles -> "The person holds no such position for another ReOC holder."+  OtherReOCRolesOtherReOCRolesHeld -> "The positions held for other ReOC holders, and how the person will fulfil the duties of each."+  NomineePerson -> "The person nominated."+  NomineeOtherQualifications -> "Qualifications other than a RePL, such as licences and certificates; may be none."+  NomineeAviationExperience -> "A summary of the person’s aviation experience, for the manual’s list of key personnel."+  ChiefExecutiveNominee -> "The person nominated as CEO."+  ChiefExecutiveDirectorStatus -> "Whether the CEO is the sole director, a director, or not a director of the company."+  ChiefExecutiveManagementExperience -> "The CEO’s management experience (question 7), if given."+  CRPNomineeCrpIsCEO -> "The CEO is also the chief remote pilot."+  CRPNomineeCrpNominated -> "Another person is nominated as chief remote pilot."+  ChiefPilotCrpNominee -> "Who is the chief remote pilot: the CEO, or another person (question 8)."+  ChiefPilotRePLOrigin -> "How the chief remote pilot obtained their initial RePL (question 9)."+  ChiefPilotRpaHistory -> "The chief remote pilot’s RPA history and experience, including total RPA flying time, RPA operated and relevant qualifications (question 10)."+  ChiefPilotOtherReOCRoles -> "Whether the chief remote pilot is also chief remote pilot or chief RePL instructor for other ReOC holders (question 11)."+  ChiefPilotRadio -> "The chief remote pilot’s qualification to use an aeronautical radio."+  MCNomineeMcIsCEO -> "The CEO is also the maintenance controller."+  MCNomineeMcIsCRP -> "The chief remote pilot is also the maintenance controller."+  MCNomineeMcNominated -> "Another person is nominated as maintenance controller."+  KeyPersonnelChiefExecutive -> "The chief executive officer (CEO)."+  KeyPersonnelChiefPilot -> "The chief remote pilot (CRP)."+  KeyPersonnelMcNominee -> "Who is the maintenance controller (MC)."+  OperatorCompany -> "The company that applies for the ReOC."+  OperatorKeyPersonnel -> "The key personnel."+  OperatorFleet -> "The types of RPA operated, with each RPA of each type; one to eight types."+  ContactPersonFullName -> "The contact person’s full name."+  ContactPersonPosition -> "The contact person’s position in the company."+  ContactPersonPhoneNumber -> "The contact person’s phone number."+  ContactPersonEmailAddress -> "The contact person’s email address."+  PrimaryContactApplicantIsPrimaryContact -> "The applicant is the primary contact (question 2)."+  PrimaryContactPrimaryContactPerson -> "Another person is the primary contact (question 3)."+  HistoryAnswerNoHistory -> "No."+  HistoryAnswerHistoryDisclosed -> "Yes, with the details, including dates, actions, charges, convictions and imprisonment (question 23)."+  PersonnelHistoryActionTaken -> "Whether any action has been taken, or is being taken, against the applicant or any nominated personnel, or they have been refused an aviation-related licence, certificate or authority (question 19)."+  PersonnelHistoryTransportLicenceRefused -> "Whether the applicant or any nominated personnel has been refused, or had suspended, a transport-related licence or certificate (question 20)."+  PersonnelHistoryCriminalConviction -> "Whether the applicant or any nominated personnel has a criminal conviction or finding of guilt less than ten years old (question 21)."+  PersonnelHistorySuspensionPending -> "Whether suspension or cancellation action is pending on any aviation licence the applicant or any nominated personnel holds (question 22)."+  RegulatoryActionReocSuspendedOrCancelled -> "Whether the applicant or any nominated personnel has had a ReOC, or equivalent, suspended or cancelled (question 25)."+  RegulatoryActionTypeOfAction -> "The type of action taken (question 26)."+  RegulatoryActionAuthorisationAction -> "The action taken against an authorisation, if any (question 26)."+  RegulatoryActionActionDate -> "The date the action was taken (question 26)."+  RegulatoryActionActionDetails -> "The details of the regulatory action (question 26)."+  RegulatoryHistoryNoRegulatoryAction -> "No regulatory action by CASA or a foreign authority in the last ten years."+  RegulatoryHistoryRegulatoryActionTaken -> "Regulatory action has been taken in the last ten years, with its details."+  DeclarantFullName -> "The full name of the person making the declaration."+  DeclarantRole -> "The capacity in which they make it, such as director."+  DeclarationDeclaredByCEO -> "The CEO makes the declaration."+  DeclarationDeclaredByResponsibleManager -> "The full name of the responsible manager who makes the declaration."+  DeclarationDeclaredByAgent -> "The full name of the agent, under a power of attorney, who makes the declaration."+  DeclarationDeclaredByOther -> "Another person makes the declaration, in the capacity given."+  WrittenSignatureWrittenSignatureImage -> "The contents of a PNG image of the signature."+  WrittenSignatureWrittenSignatureFile -> "The path of a PNG image of the signature, read when the documents are written."+  ApplicationFormPrimaryContact -> "Who is the primary contact for the application (questions 2 and 3)."+  ApplicationFormPersonnelHistory -> "The history of the applicant and nominated personnel (questions 19 to 23)."+  ApplicationFormRegulatoryHistory -> "Regulatory action in the last ten years (questions 24 to 26)."+  ApplicationFormProceduresLibrary -> "Whether a procedures library is submitted with the application (question 30, item 2)."+  ApplicationFormOtherDocuments -> "Other documents submitted, one line each; at most six (question 30)."+  ApplicationFormDeclaration -> "Who makes the declaration (questions 31 and 32)."+  ApplicationFormSignature -> "The written signature of the declarant, if the form is to be signed."+  VersionMajorVersion -> "The major version, such as 1 in version 1.0."+  VersionMinorVersion -> "The minor version, such as 0 in version 1.0."+  FirstIssueVersion -> "The version of the first issue, usually 1.0."+  FirstIssueIssueDate -> "The month of the first issue."+  FirstIssueEffective -> "When the first issue takes effect, such as on issue of the ReOC."+  FirstIssueParts -> "The parts of the manual issued, usually all."+  FirstIssueDetails -> "A description of the issue."+  RevisionVersionIncrement -> "Whether the revision is a major or a minor revision."+  RevisionMonthsAfter -> "The number of months after the entry before it."+  RevisionEffective -> "When the revision takes effect."+  RevisionParts -> "The parts of the manual revised."+  RevisionDetails -> "A description of the revision."+  PoliciesRecencyFlights -> "The number of flights a remote pilot must have made in the recency period."+  PoliciesRecencyDays -> "The recency period, in days."+  PoliciesRefresherMonths -> "The longest interval between refresher training, in months."+  PoliciesAlcoholHours -> "The number of hours without alcohol before duty."+  PoliciesRestHours -> "The number of consecutive hours of rest before duty."+  PoliciesDutyHours -> "The longest duty period, in hours."+  PoliciesInspectionMonths -> "The longest interval between periodic inspections, in months."+  PoliciesInspectionHours -> "The longest interval between periodic inspections, in flight hours."+  PoliciesBatteryReserve -> "The battery remaining, as a percentage, that each flight is planned to land with."+  PoliciesBackupFrequency -> "The longest interval between backups of records."+  PoliciesIndependentReviewYears -> "The longest interval between independent reviews, in years."+  PoliciesCheckingMonths -> "The longest interval between checking events of a remote pilot, in months."+  RiskAssessmentRiskLikelihood -> "The likelihood of the risk."+  RiskAssessmentRiskConsequence -> "The consequence of the risk."+  RiskHazard -> "The hazard."+  RiskRiskDescription -> "What could happen because of the hazard."+  RiskExistingControls -> "The controls already in place, with the manual sections that set them out."+  RiskInitialRisk -> "The risk with the existing controls."+  RiskAdditionalControls -> "The additional controls."+  RiskResidualRisk -> "The risk with the additional controls."+  RiskRiskOwner -> "The key position that owns the risk."+  RiskDateEntered -> "The month the risk was entered in the register."+  RiskReviewMonths -> "The number of months after entry that the risk is reviewed, at most 12."+  OperationsManualFirstIssue -> "The first entry in the amendment record."+  OperationsManualRevisions -> "Later entries in the amendment record, in order; may be none."+  OperationsManualServices -> "The services the operator provides; one or more."+  OperationsManualPolicies -> "The limits that the operator sets."+  OperationsManualRiskRegister -> "The entries of the risk register; one or more."+  OperationsManualCrew -> "Whether the operator conducts only solo operations, or multi-crew operations as well."+  OperationsManualPilots -> "Whether the chief remote pilot is the operator’s only remote pilot."+  CRINomineeCriIsCEO -> "The CEO is also the chief RePL instructor."+  CRINomineeCriIsCRP -> "The chief remote pilot is also the chief RePL instructor."+  CRINomineeCriIsMC -> "The maintenance controller is also the chief RePL instructor."+  CRINomineeCriNominated -> "Another person is nominated as chief RePL instructor."+  RePLHoldingHoldsRePLForEachType -> "The chief RePL instructor holds a RePL for each type of RPA used in training (question 14)."+  RePLHoldingRePLHoldingIntent -> "How and when the chief RePL instructor will hold a RePL for each type (question 17)."+  TeachingQualificationTeachingQualificationHeld -> "The details of the teaching qualification held, such as a Certificate IV in Training and Assessment (question 15)."+  TeachingQualificationTeachingQualificationIntent -> "How and when the chief RePL instructor will obtain a teaching qualification (question 17)."+  OperationalExperienceHasOperationalExperience -> "The chief RePL instructor has 20 hours of non-training operational experience for each category trained (question 16)."+  OperationalExperienceOperationalExperienceIntent -> "How and when the chief RePL instructor will gain the experience (question 17)."+  OperationalExperienceOperationalExperienceNotApplicable -> "The chief RePL instructor does not provide practical instruction (question 16)."+  TrainingCourseCourseKind -> "The type of course: initial, upgrade in the same category, or upgrade to a different category."+  TrainingCourseTrainingRPA -> "The type of RPA used in the course, with each RPA of that type."+  TrainingCourseComplexities -> "The complexities of the course; one or more."+  TrainingArrangementsTheoryVenues -> "Where theory training is conducted; one or more."+  TrainingArrangementsPracticalAreas -> "Where practical training is conducted; one or more."+  TrainingArrangementsMaxStudentsPerCourse -> "The most students in a course."+  TrainingArrangementsMaxStudentsPerInstructor -> "The most students flying at once for each instructor."+  TrainingArrangementsTakeover -> "How an instructor takes immediate control of a training RPA."+  TrainingArrangementsTheory -> "How theory lessons are delivered."+  TrainingArrangementsExam -> "How the supervised theory examination is sat."+  TrainingArrangementsExamPassMark -> "The pass mark of the theory examination, as a percentage, at least 70."+  TrainingArrangementsExaminer -> "Who conducts flight tests."+  TrainingArrangementsSimulator -> "The simulator used in training, if one is used."+  TrainingMaterialCriNominee -> "Who is the chief RePL instructor (question 13)."+  TrainingMaterialRePLHolding -> "Whether the chief RePL instructor holds a RePL for each type of RPA used in training (question 14)."+  TrainingMaterialTeachingQualification -> "The chief RePL instructor’s teaching qualification (question 15)."+  TrainingMaterialOperationalExperience -> "The chief RePL instructor’s non-training operational experience (question 16)."+  TrainingMaterialCriOtherReOCRoles -> "Whether the chief RePL instructor holds positions for other ReOC holders (question 18)."+  TrainingMaterialTrainingCourses -> "The RePL training courses; one to nine."+  TrainingMaterialTrainingArrangements -> "How RePL training is conducted."+  ReOCOperator -> "The operator: the company, its key personnel and its RPA."+  ReOCApplicationForm -> "The answers to the application form that are not part of the operator."+  ReOCOperationsManual -> "The parts of the operations manual that are not part of the operator."+  ReOCMaybeTrainingMaterial -> "RePL training, if it is applied for."++-- | The label of a field, from its name.+fieldLabel :: Field -> Text+fieldLabel = \case+  PersonFullName -> "full name"+  PersonArn -> "ARN"+  PersonPhoneNumber -> "phone number"+  PersonEmailAddress -> "email address"+  AddressStreetAddress -> "street address"+  AddressSuburb -> "suburb"+  AddressStateOrTerritory -> "state or territory"+  AddressPostcode -> "postcode"+  OperationalHeadquartersAtRegisteredOffice -> "at registered office"+  OperationalHeadquartersOperationalHeadquartersAddress -> "operational headquarters address"+  CompanyCompanyName -> "company name"+  CompanyAbn -> "ABN"+  CompanyArn -> "ARN"+  CompanyRegisteredOffice -> "registered office"+  CompanyOperationalHeadquarters -> "operational headquarters"+  CompanyPhoneNumber -> "phone number"+  CompanyEmailAddress -> "email address"+  CompanyBusinessName -> "business name"+  FlightTerminationNoFlightTerminationSystem -> "no flight termination system"+  FlightTerminationFlightTerminationSystem -> "flight termination system"+  EmergencyActionSituation -> "situation"+  EmergencyActionResponse -> "response"+  EmergencyActionActionSteps -> "action steps"+  RPATypeRpaMake -> "RPA make"+  RPATypeRpaModel -> "RPA model"+  RPATypeShortName -> "short name"+  RPATypeCategory -> "category"+  RPATypeMaximumGrossWeight -> "maximum gross weight"+  RPATypeUserManual -> "user manual"+  RPATypeTransponderCarriage -> "transponder carriage"+  RPATypeFlightTermination -> "flight termination"+  RPATypeInspectionItems -> "inspection items"+  RPATypeBeforeFlight -> "before flight"+  RPATypeBatteryWarnings -> "battery warnings"+  RPATypeEmergencyActions -> "emergency actions"+  EquipmentEquipmentDescription -> "equipment description"+  EquipmentSerialNumber -> "serial number"+  AircraftSerialNumber -> "serial number"+  AircraftAssociatedEquipment -> "associated equipment"+  OperatedTypeRpaType -> "RPA type"+  OperatedTypeAirframes -> "airframes"+  RePLOriginPplTheory -> "PPL theory"+  RePLOriginRePLTrainingOrganisation -> "RePL training organisation"+  OtherReOCRolesNoOtherReOCRoles -> "no other ReOC roles"+  OtherReOCRolesOtherReOCRolesHeld -> "other ReOC roles held"+  NomineePerson -> "person"+  NomineeOtherQualifications -> "other qualifications"+  NomineeAviationExperience -> "aviation experience"+  ChiefExecutiveNominee -> "nominee"+  ChiefExecutiveDirectorStatus -> "director status"+  ChiefExecutiveManagementExperience -> "management experience"+  CRPNomineeCrpIsCEO -> "CRP is CEO"+  CRPNomineeCrpNominated -> "CRP nominated"+  ChiefPilotCrpNominee -> "CRP nominee"+  ChiefPilotRePLOrigin -> "RePL origin"+  ChiefPilotRpaHistory -> "RPA history"+  ChiefPilotOtherReOCRoles -> "other ReOC roles"+  ChiefPilotRadio -> "radio"+  MCNomineeMcIsCEO -> "MC is CEO"+  MCNomineeMcIsCRP -> "MC is CRP"+  MCNomineeMcNominated -> "MC nominated"+  KeyPersonnelChiefExecutive -> "chief executive"+  KeyPersonnelChiefPilot -> "chief pilot"+  KeyPersonnelMcNominee -> "MC nominee"+  OperatorCompany -> "company"+  OperatorKeyPersonnel -> "key personnel"+  OperatorFleet -> "fleet"+  ContactPersonFullName -> "full name"+  ContactPersonPosition -> "position"+  ContactPersonPhoneNumber -> "phone number"+  ContactPersonEmailAddress -> "email address"+  PrimaryContactApplicantIsPrimaryContact -> "applicant is primary contact"+  PrimaryContactPrimaryContactPerson -> "primary contact person"+  HistoryAnswerNoHistory -> "no history"+  HistoryAnswerHistoryDisclosed -> "history disclosed"+  PersonnelHistoryActionTaken -> "action taken"+  PersonnelHistoryTransportLicenceRefused -> "transport licence refused"+  PersonnelHistoryCriminalConviction -> "criminal conviction"+  PersonnelHistorySuspensionPending -> "suspension pending"+  RegulatoryActionReocSuspendedOrCancelled -> "ReOC suspended or cancelled"+  RegulatoryActionTypeOfAction -> "type of action"+  RegulatoryActionAuthorisationAction -> "authorisation action"+  RegulatoryActionActionDate -> "action date"+  RegulatoryActionActionDetails -> "action details"+  RegulatoryHistoryNoRegulatoryAction -> "no regulatory action"+  RegulatoryHistoryRegulatoryActionTaken -> "regulatory action taken"+  DeclarantFullName -> "full name"+  DeclarantRole -> "role"+  DeclarationDeclaredByCEO -> "declared by CEO"+  DeclarationDeclaredByResponsibleManager -> "declared by responsible manager"+  DeclarationDeclaredByAgent -> "declared by agent"+  DeclarationDeclaredByOther -> "declared by other"+  WrittenSignatureWrittenSignatureImage -> "written signature image"+  WrittenSignatureWrittenSignatureFile -> "written signature file"+  ApplicationFormPrimaryContact -> "primary contact"+  ApplicationFormPersonnelHistory -> "personnel history"+  ApplicationFormRegulatoryHistory -> "regulatory history"+  ApplicationFormProceduresLibrary -> "procedures library"+  ApplicationFormOtherDocuments -> "other documents"+  ApplicationFormDeclaration -> "declaration"+  ApplicationFormSignature -> "signature"+  VersionMajorVersion -> "major version"+  VersionMinorVersion -> "minor version"+  FirstIssueVersion -> "version"+  FirstIssueIssueDate -> "issue date"+  FirstIssueEffective -> "effective"+  FirstIssueParts -> "parts"+  FirstIssueDetails -> "details"+  RevisionVersionIncrement -> "version increment"+  RevisionMonthsAfter -> "months after"+  RevisionEffective -> "effective"+  RevisionParts -> "parts"+  RevisionDetails -> "details"+  PoliciesRecencyFlights -> "recency flights"+  PoliciesRecencyDays -> "recency days"+  PoliciesRefresherMonths -> "refresher months"+  PoliciesAlcoholHours -> "alcohol hours"+  PoliciesRestHours -> "rest hours"+  PoliciesDutyHours -> "duty hours"+  PoliciesInspectionMonths -> "inspection months"+  PoliciesInspectionHours -> "inspection hours"+  PoliciesBatteryReserve -> "battery reserve"+  PoliciesBackupFrequency -> "backup frequency"+  PoliciesIndependentReviewYears -> "independent review years"+  PoliciesCheckingMonths -> "checking months"+  RiskAssessmentRiskLikelihood -> "risk likelihood"+  RiskAssessmentRiskConsequence -> "risk consequence"+  RiskHazard -> "hazard"+  RiskRiskDescription -> "risk description"+  RiskExistingControls -> "existing controls"+  RiskInitialRisk -> "initial risk"+  RiskAdditionalControls -> "additional controls"+  RiskResidualRisk -> "residual risk"+  RiskRiskOwner -> "risk owner"+  RiskDateEntered -> "date entered"+  RiskReviewMonths -> "review months"+  OperationsManualFirstIssue -> "first issue"+  OperationsManualRevisions -> "revisions"+  OperationsManualServices -> "services"+  OperationsManualPolicies -> "policies"+  OperationsManualRiskRegister -> "risk register"+  OperationsManualCrew -> "crew"+  OperationsManualPilots -> "pilots"+  CRINomineeCriIsCEO -> "CRI is CEO"+  CRINomineeCriIsCRP -> "CRI is CRP"+  CRINomineeCriIsMC -> "CRI is MC"+  CRINomineeCriNominated -> "CRI nominated"+  RePLHoldingHoldsRePLForEachType -> "holds RePL for each type"+  RePLHoldingRePLHoldingIntent -> "RePL holding intent"+  TeachingQualificationTeachingQualificationHeld -> "teaching qualification held"+  TeachingQualificationTeachingQualificationIntent -> "teaching qualification intent"+  OperationalExperienceHasOperationalExperience -> "has operational experience"+  OperationalExperienceOperationalExperienceIntent -> "operational experience intent"+  OperationalExperienceOperationalExperienceNotApplicable -> "operational experience not applicable"+  TrainingCourseCourseKind -> "course kind"+  TrainingCourseTrainingRPA -> "training RPA"+  TrainingCourseComplexities -> "complexities"+  TrainingArrangementsTheoryVenues -> "theory venues"+  TrainingArrangementsPracticalAreas -> "practical areas"+  TrainingArrangementsMaxStudentsPerCourse -> "max students per course"+  TrainingArrangementsMaxStudentsPerInstructor -> "max students per instructor"+  TrainingArrangementsTakeover -> "takeover"+  TrainingArrangementsTheory -> "theory"+  TrainingArrangementsExam -> "exam"+  TrainingArrangementsExamPassMark -> "exam pass mark"+  TrainingArrangementsExaminer -> "examiner"+  TrainingArrangementsSimulator -> "simulator"+  TrainingMaterialCriNominee -> "CRI nominee"+  TrainingMaterialRePLHolding -> "RePL holding"+  TrainingMaterialTeachingQualification -> "teaching qualification"+  TrainingMaterialOperationalExperience -> "operational experience"+  TrainingMaterialCriOtherReOCRoles -> "CRI other ReOC roles"+  TrainingMaterialTrainingCourses -> "training courses"+  TrainingMaterialTrainingArrangements -> "training arrangements"+  ReOCOperator -> "operator"+  ReOCApplicationForm -> "application form"+  ReOCOperationsManual -> "operations manual"+  ReOCMaybeTrainingMaterial -> "maybe training material"++-- | The data type of a field: the form type that it is a field or constructor of.+fieldOf :: Field -> Text+fieldOf = \case+  PersonFullName -> "Person'"+  PersonArn -> "Person'"+  PersonPhoneNumber -> "Person'"+  PersonEmailAddress -> "Person'"+  AddressStreetAddress -> "Address'"+  AddressSuburb -> "Address'"+  AddressStateOrTerritory -> "Address'"+  AddressPostcode -> "Address'"+  OperationalHeadquartersAtRegisteredOffice -> "OperationalHeadquarters'"+  OperationalHeadquartersOperationalHeadquartersAddress -> "OperationalHeadquarters'"+  CompanyCompanyName -> "Company'"+  CompanyAbn -> "Company'"+  CompanyArn -> "Company'"+  CompanyRegisteredOffice -> "Company'"+  CompanyOperationalHeadquarters -> "Company'"+  CompanyPhoneNumber -> "Company'"+  CompanyEmailAddress -> "Company'"+  CompanyBusinessName -> "Company'"+  FlightTerminationNoFlightTerminationSystem -> "FlightTermination'"+  FlightTerminationFlightTerminationSystem -> "FlightTermination'"+  EmergencyActionSituation -> "EmergencyAction'"+  EmergencyActionResponse -> "EmergencyAction'"+  EmergencyActionActionSteps -> "EmergencyAction'"+  RPATypeRpaMake -> "RPAType'"+  RPATypeRpaModel -> "RPAType'"+  RPATypeShortName -> "RPAType'"+  RPATypeCategory -> "RPAType'"+  RPATypeMaximumGrossWeight -> "RPAType'"+  RPATypeUserManual -> "RPAType'"+  RPATypeTransponderCarriage -> "RPAType'"+  RPATypeFlightTermination -> "RPAType'"+  RPATypeInspectionItems -> "RPAType'"+  RPATypeBeforeFlight -> "RPAType'"+  RPATypeBatteryWarnings -> "RPAType'"+  RPATypeEmergencyActions -> "RPAType'"+  EquipmentEquipmentDescription -> "Equipment'"+  EquipmentSerialNumber -> "Equipment'"+  AircraftSerialNumber -> "Aircraft'"+  AircraftAssociatedEquipment -> "Aircraft'"+  OperatedTypeRpaType -> "OperatedType'"+  OperatedTypeAirframes -> "OperatedType'"+  RePLOriginPplTheory -> "RePLOrigin'"+  RePLOriginRePLTrainingOrganisation -> "RePLOrigin'"+  OtherReOCRolesNoOtherReOCRoles -> "OtherReOCRoles'"+  OtherReOCRolesOtherReOCRolesHeld -> "OtherReOCRoles'"+  NomineePerson -> "Nominee'"+  NomineeOtherQualifications -> "Nominee'"+  NomineeAviationExperience -> "Nominee'"+  ChiefExecutiveNominee -> "ChiefExecutive'"+  ChiefExecutiveDirectorStatus -> "ChiefExecutive'"+  ChiefExecutiveManagementExperience -> "ChiefExecutive'"+  CRPNomineeCrpIsCEO -> "CRPNominee'"+  CRPNomineeCrpNominated -> "CRPNominee'"+  ChiefPilotCrpNominee -> "ChiefPilot'"+  ChiefPilotRePLOrigin -> "ChiefPilot'"+  ChiefPilotRpaHistory -> "ChiefPilot'"+  ChiefPilotOtherReOCRoles -> "ChiefPilot'"+  ChiefPilotRadio -> "ChiefPilot'"+  MCNomineeMcIsCEO -> "MCNominee'"+  MCNomineeMcIsCRP -> "MCNominee'"+  MCNomineeMcNominated -> "MCNominee'"+  KeyPersonnelChiefExecutive -> "KeyPersonnel'"+  KeyPersonnelChiefPilot -> "KeyPersonnel'"+  KeyPersonnelMcNominee -> "KeyPersonnel'"+  OperatorCompany -> "Operator'"+  OperatorKeyPersonnel -> "Operator'"+  OperatorFleet -> "Operator'"+  ContactPersonFullName -> "ContactPerson'"+  ContactPersonPosition -> "ContactPerson'"+  ContactPersonPhoneNumber -> "ContactPerson'"+  ContactPersonEmailAddress -> "ContactPerson'"+  PrimaryContactApplicantIsPrimaryContact -> "PrimaryContact'"+  PrimaryContactPrimaryContactPerson -> "PrimaryContact'"+  HistoryAnswerNoHistory -> "HistoryAnswer'"+  HistoryAnswerHistoryDisclosed -> "HistoryAnswer'"+  PersonnelHistoryActionTaken -> "PersonnelHistory'"+  PersonnelHistoryTransportLicenceRefused -> "PersonnelHistory'"+  PersonnelHistoryCriminalConviction -> "PersonnelHistory'"+  PersonnelHistorySuspensionPending -> "PersonnelHistory'"+  RegulatoryActionReocSuspendedOrCancelled -> "RegulatoryAction'"+  RegulatoryActionTypeOfAction -> "RegulatoryAction'"+  RegulatoryActionAuthorisationAction -> "RegulatoryAction'"+  RegulatoryActionActionDate -> "RegulatoryAction'"+  RegulatoryActionActionDetails -> "RegulatoryAction'"+  RegulatoryHistoryNoRegulatoryAction -> "RegulatoryHistory'"+  RegulatoryHistoryRegulatoryActionTaken -> "RegulatoryHistory'"+  DeclarantFullName -> "Declarant'"+  DeclarantRole -> "Declarant'"+  DeclarationDeclaredByCEO -> "Declaration'"+  DeclarationDeclaredByResponsibleManager -> "Declaration'"+  DeclarationDeclaredByAgent -> "Declaration'"+  DeclarationDeclaredByOther -> "Declaration'"+  WrittenSignatureWrittenSignatureImage -> "WrittenSignature'"+  WrittenSignatureWrittenSignatureFile -> "WrittenSignature'"+  ApplicationFormPrimaryContact -> "ApplicationForm'"+  ApplicationFormPersonnelHistory -> "ApplicationForm'"+  ApplicationFormRegulatoryHistory -> "ApplicationForm'"+  ApplicationFormProceduresLibrary -> "ApplicationForm'"+  ApplicationFormOtherDocuments -> "ApplicationForm'"+  ApplicationFormDeclaration -> "ApplicationForm'"+  ApplicationFormSignature -> "ApplicationForm'"+  VersionMajorVersion -> "Version'"+  VersionMinorVersion -> "Version'"+  FirstIssueVersion -> "FirstIssue'"+  FirstIssueIssueDate -> "FirstIssue'"+  FirstIssueEffective -> "FirstIssue'"+  FirstIssueParts -> "FirstIssue'"+  FirstIssueDetails -> "FirstIssue'"+  RevisionVersionIncrement -> "Revision'"+  RevisionMonthsAfter -> "Revision'"+  RevisionEffective -> "Revision'"+  RevisionParts -> "Revision'"+  RevisionDetails -> "Revision'"+  PoliciesRecencyFlights -> "Policies'"+  PoliciesRecencyDays -> "Policies'"+  PoliciesRefresherMonths -> "Policies'"+  PoliciesAlcoholHours -> "Policies'"+  PoliciesRestHours -> "Policies'"+  PoliciesDutyHours -> "Policies'"+  PoliciesInspectionMonths -> "Policies'"+  PoliciesInspectionHours -> "Policies'"+  PoliciesBatteryReserve -> "Policies'"+  PoliciesBackupFrequency -> "Policies'"+  PoliciesIndependentReviewYears -> "Policies'"+  PoliciesCheckingMonths -> "Policies'"+  RiskAssessmentRiskLikelihood -> "RiskAssessment'"+  RiskAssessmentRiskConsequence -> "RiskAssessment'"+  RiskHazard -> "Risk'"+  RiskRiskDescription -> "Risk'"+  RiskExistingControls -> "Risk'"+  RiskInitialRisk -> "Risk'"+  RiskAdditionalControls -> "Risk'"+  RiskResidualRisk -> "Risk'"+  RiskRiskOwner -> "Risk'"+  RiskDateEntered -> "Risk'"+  RiskReviewMonths -> "Risk'"+  OperationsManualFirstIssue -> "OperationsManual'"+  OperationsManualRevisions -> "OperationsManual'"+  OperationsManualServices -> "OperationsManual'"+  OperationsManualPolicies -> "OperationsManual'"+  OperationsManualRiskRegister -> "OperationsManual'"+  OperationsManualCrew -> "OperationsManual'"+  OperationsManualPilots -> "OperationsManual'"+  CRINomineeCriIsCEO -> "CRINominee'"+  CRINomineeCriIsCRP -> "CRINominee'"+  CRINomineeCriIsMC -> "CRINominee'"+  CRINomineeCriNominated -> "CRINominee'"+  RePLHoldingHoldsRePLForEachType -> "RePLHolding'"+  RePLHoldingRePLHoldingIntent -> "RePLHolding'"+  TeachingQualificationTeachingQualificationHeld -> "TeachingQualification'"+  TeachingQualificationTeachingQualificationIntent -> "TeachingQualification'"+  OperationalExperienceHasOperationalExperience -> "OperationalExperience'"+  OperationalExperienceOperationalExperienceIntent -> "OperationalExperience'"+  OperationalExperienceOperationalExperienceNotApplicable -> "OperationalExperience'"+  TrainingCourseCourseKind -> "TrainingCourse'"+  TrainingCourseTrainingRPA -> "TrainingCourse'"+  TrainingCourseComplexities -> "TrainingCourse'"+  TrainingArrangementsTheoryVenues -> "TrainingArrangements'"+  TrainingArrangementsPracticalAreas -> "TrainingArrangements'"+  TrainingArrangementsMaxStudentsPerCourse -> "TrainingArrangements'"+  TrainingArrangementsMaxStudentsPerInstructor -> "TrainingArrangements'"+  TrainingArrangementsTakeover -> "TrainingArrangements'"+  TrainingArrangementsTheory -> "TrainingArrangements'"+  TrainingArrangementsExam -> "TrainingArrangements'"+  TrainingArrangementsExamPassMark -> "TrainingArrangements'"+  TrainingArrangementsExaminer -> "TrainingArrangements'"+  TrainingArrangementsSimulator -> "TrainingArrangements'"+  TrainingMaterialCriNominee -> "TrainingMaterial'"+  TrainingMaterialRePLHolding -> "TrainingMaterial'"+  TrainingMaterialTeachingQualification -> "TrainingMaterial'"+  TrainingMaterialOperationalExperience -> "TrainingMaterial'"+  TrainingMaterialCriOtherReOCRoles -> "TrainingMaterial'"+  TrainingMaterialTrainingCourses -> "TrainingMaterial'"+  TrainingMaterialTrainingArrangements -> "TrainingMaterial'"+  ReOCOperator -> "ReOC'"+  ReOCApplicationForm -> "ReOC'"+  ReOCOperationsManual -> "ReOC'"+  ReOCMaybeTrainingMaterial -> "ReOC'"
+ src/ReOC/Input.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeApplications #-}+{-# OPTIONS_GHC -Wall #-}++{- | What filling in an unfilled form is built from: the errors it can give,+and how each kind of field is checked.++The errors are given in any type @e@ that has the names of the three kinds of+error, 'Unfilled', 'Invalid' and 'TooMany' ('AsReOCError'); 'ReOCError' is+one. Each error holds the path of its field, from the whole form, so that the+same field in different places (a person's name as CEO, or as chief remote+pilot) is told apart, and the help text of the field is at hand+('ReOC.Help.fieldHelp').+-}+module ReOC.Input (+  AsReOCError,+  Fill,+  at,+  accepted,+  checked,+  required,+  optional,+  elements,+  nonEmptyElements,+  someElements,+  atMostElements,+  unfilledAt,+) where++import Control.Lens (preview, review)+import Data.Functor.Identity (Identity)+import Data.List.NonEmpty (NonEmpty (..))+import qualified Data.List.NonEmpty as NonEmpty+import Data.Maybe (fromMaybe)+import Data.Proxy (Proxy (..))+import Data.Tagged (Tagged)+import Data.Validation (Validation (..))+import GHC.TypeNats (KnownNat, natVal)+import Numeric.Natural (Natural)+import ReOC.Model++{- | A type that the three kinds of error can be built in: an error type of+the caller's choice, such as 'ReOCError'.+-}+type AsReOCError e =+  ( UnfilledLike Tagged Identity e e+  , InvalidLike Tagged Identity e e+  , TooManyLike Tagged Identity e e+  )++-- | The result of filling in: the valid value, or every error.+type Fill e a =+  Validation (NonEmpty e) a++-- | The path to a field of the data type at a path.+at :: [Step] -> Field -> [Step]+at p f =+  p <> [StepField f]++-- | An error at a path.+failAt :: e -> Fill e a+failAt e =+  Failure (e :| [])++-- | A field that has not been filled in, at its path.+unfilledAt :: (AsReOCError e) => [Step] -> Fill e a+unfilledAt p =+  failAt (review unfilled (Unfilled p))++-- | A value that is accepted as it is entered (an enumeration, a date, a number of any size).+accepted :: [Step] -> a -> Fill e a+accepted _ =+  Success++{- | A value that is parsed and checked (by its smart constructor, such as+@preview _Text1@, or a parser that also accepts spaces, such as 'parseABN'),+with the kind of invalid value it is when it is not accepted.+-}+checked :: (AsReOCError e) => (r -> Maybe a) -> (r -> InvalidValue) -> [Step] -> r -> Fill e a+checked parse invalidAs q r =+  maybe (failAt (review invalid (Invalid q (invalidAs r)))) Success (parse r)++-- | A field that must be filled in.+required :: (AsReOCError e) => ([Step] -> a -> Fill e b) -> [Step] -> Maybe a -> Fill e b+required f q =+  maybe (unfilledAt q) (f q)++-- | A field that may be left empty.+optional :: ([Step] -> a -> Fill e b) -> [Step] -> Maybe a -> Fill e (Maybe b)+optional f q =+  traverse (f q)++-- | The elements of a list field, each at its index.+elements :: ([Step] -> a -> Fill e b) -> [Step] -> [a] -> Fill e [b]+elements f q xs =+  traverse (\(i, x) -> f (q <> [StepIndex i]) x) (zip [0 :: Natural ..] xs)++-- | A list field that must have at least one element.+nonEmptyElements :: (AsReOCError e) => ([Step] -> a -> Fill e b) -> [Step] -> [a] -> Fill e (NonEmpty b)+nonEmptyElements f q xs =+  case NonEmpty.nonEmpty xs of+    Nothing -> unfilledAt q+    Just _ -> NonEmpty.fromList <$> elements f q xs++-- | A list field with one to @n@ elements.+someElements :: forall n e a b. (AsReOCError e, KnownNat n) => ([Step] -> a -> Fill e b) -> [Step] -> [a] -> Fill e (Some n b)+someElements f q xs =+  let most = natVal (Proxy :: Proxy n)+   in case NonEmpty.nonEmpty xs of+        Nothing -> unfilledAt q+        Just _+          | fromIntegral (length xs) > most -> failAt (review tooMany (TooMany q most (fromIntegral (length xs))))+          | otherwise ->+              (\ys -> fromMaybe (error "someElements: checked length") (NonEmpty.nonEmpty ys >>= preview (_Some @n)))+                <$> elements f q xs++-- | A list field with at most @n@ elements.+atMostElements :: forall n e a b. (AsReOCError e, KnownNat n) => ([Step] -> a -> Fill e b) -> [Step] -> [a] -> Fill e (AtMost n b)+atMostElements f q xs =+  let most = natVal (Proxy :: Proxy n)+   in if fromIntegral (length xs) > most+        then failAt (review tooMany (TooMany q most (fromIntegral (length xs))))+        else fromMaybe (error "atMostElements: checked length") . preview (_AtMost @n) <$> elements f q xs
+ src/ReOC/Model.hs view
@@ -0,0 +1,1020 @@+{-# OPTIONS_GHC -Wall #-}++{- | Every data type, name and primitive type of the package.++Re-exporting every module of names and of data types here means that a name declared in two+modules, or a constructor declared twice, fails to compile.+-}+module ReOC.Model (+  module ReOC.Data.Address,+  module ReOC.Data.Aircraft,+  module ReOC.Data.ApplicationForm,+  module ReOC.Data.AustralianState,+  module ReOC.Data.BackupInterval,+  module ReOC.Data.CRINominee,+  module ReOC.Data.CRPNominee,+  module ReOC.Data.ChiefExecutive,+  module ReOC.Data.ChiefPilot,+  module ReOC.Data.Company,+  module ReOC.Data.Complexity,+  module ReOC.Data.Consequence,+  module ReOC.Data.ContactPerson,+  module ReOC.Data.CourseType,+  module ReOC.Data.Crewing,+  module ReOC.Data.Declarant,+  module ReOC.Data.Declaration,+  module ReOC.Data.Directorship,+  module ReOC.Data.EmergencyAction,+  module ReOC.Data.Equipment,+  module ReOC.Data.ExamDelivery,+  module ReOC.Data.Field,+  module ReOC.Data.FirstIssue,+  module ReOC.Data.FlightTermination,+  module ReOC.Data.FlightTestExaminer,+  module ReOC.Data.HistoryAnswer,+  module ReOC.Data.InstructorTakeover,+  module ReOC.Data.Invalid,+  module ReOC.Data.InvalidValue,+  module ReOC.Data.KeyPersonnel,+  module ReOC.Data.KeyPosition,+  module ReOC.Data.Likelihood,+  module ReOC.Data.MCNominee,+  module ReOC.Data.Nominee,+  module ReOC.Data.OperatedType,+  module ReOC.Data.OperationalExperience,+  module ReOC.Data.OperationalHeadquarters,+  module ReOC.Data.OperationsManual,+  module ReOC.Data.Operator,+  module ReOC.Data.OtherReOCRoles,+  module ReOC.Data.Person,+  module ReOC.Data.PersonnelHistory,+  module ReOC.Data.Policies,+  module ReOC.Data.PrimaryContact,+  module ReOC.Data.RPACategory,+  module ReOC.Data.RPAType,+  module ReOC.Data.RadioQualification,+  module ReOC.Data.ReOC,+  module ReOC.Data.ReOCError,+  module ReOC.Data.RePLHolding,+  module ReOC.Data.RePLOrigin,+  module ReOC.Data.RegulatoryAction,+  module ReOC.Data.RegulatoryHistory,+  module ReOC.Data.RemotePilots,+  module ReOC.Data.Revision,+  module ReOC.Data.Risk,+  module ReOC.Data.RiskAssessment,+  module ReOC.Data.RiskLevel,+  module ReOC.Data.Step,+  module ReOC.Data.TeachingQualification,+  module ReOC.Data.TheoryDelivery,+  module ReOC.Data.TooMany,+  module ReOC.Data.TrainingArrangements,+  module ReOC.Data.TrainingCourse,+  module ReOC.Data.TrainingMaterial,+  module ReOC.Data.Transponder,+  module ReOC.Data.Unfilled,+  module ReOC.Data.Version,+  module ReOC.Data.VersionChange,+  module ReOC.Data.WrittenSignature,+  module ReOC.Name.Abn,+  module ReOC.Name.ActionDate,+  module ReOC.Name.ActionDetails,+  module ReOC.Name.ActionSteps,+  module ReOC.Name.ActionTaken,+  module ReOC.Name.AdditionalControls,+  module ReOC.Name.AddressPostcode,+  module ReOC.Name.AddressStateOrTerritory,+  module ReOC.Name.AddressStreetAddress,+  module ReOC.Name.AddressSuburb,+  module ReOC.Name.Aeroplane,+  module ReOC.Name.AircraftAssociatedEquipment,+  module ReOC.Name.AircraftSerialNumber,+  module ReOC.Name.Airframes,+  module ReOC.Name.AlcoholHours,+  module ReOC.Name.ApplicantIsPrimaryContact,+  module ReOC.Name.ApplicationForm,+  module ReOC.Name.ApplicationFormDeclaration,+  module ReOC.Name.ApplicationFormOtherDocuments,+  module ReOC.Name.ApplicationFormPersonnelHistory,+  module ReOC.Name.ApplicationFormPrimaryContact,+  module ReOC.Name.ApplicationFormProceduresLibrary,+  module ReOC.Name.ApplicationFormRegulatoryHistory,+  module ReOC.Name.ApplicationFormSignature,+  module ReOC.Name.Arn,+  module ReOC.Name.AssociatedEquipment,+  module ReOC.Name.AtRegisteredOffice,+  module ReOC.Name.AustralianCapitalTerritory,+  module ReOC.Name.AuthorisationAction,+  module ReOC.Name.AutomatedAndManual,+  module ReOC.Name.AutomatedOnly,+  module ReOC.Name.AviationExperience,+  module ReOC.Name.BackupFrequency,+  module ReOC.Name.BatteryReserve,+  module ReOC.Name.BatteryWarnings,+  module ReOC.Name.BeforeFlight,+  module ReOC.Name.BlendedTheory,+  module ReOC.Name.BusinessName,+  module ReOC.Name.Catastrophic,+  module ReOC.Name.Category,+  module ReOC.Name.CheckingMonths,+  module ReOC.Name.ChiefExecutive,+  module ReOC.Name.ChiefExecutiveDirectorStatus,+  module ReOC.Name.ChiefExecutiveManagementExperience,+  module ReOC.Name.ChiefExecutiveNominee,+  module ReOC.Name.ChiefExecutiveOfficer,+  module ReOC.Name.ChiefPilot,+  module ReOC.Name.ChiefPilotCrpNominee,+  module ReOC.Name.ChiefPilotOtherReOCRoles,+  module ReOC.Name.ChiefPilotRadio,+  module ReOC.Name.ChiefPilotRePLOrigin,+  module ReOC.Name.ChiefPilotRpaHistory,+  module ReOC.Name.ChiefRemotePilot,+  module ReOC.Name.ClassroomTheory,+  module ReOC.Name.Company,+  module ReOC.Name.CompanyAbn,+  module ReOC.Name.CompanyArn,+  module ReOC.Name.CompanyBusinessName,+  module ReOC.Name.CompanyCompanyName,+  module ReOC.Name.CompanyEmailAddress,+  module ReOC.Name.CompanyName,+  module ReOC.Name.CompanyOperationalHeadquarters,+  module ReOC.Name.CompanyPhoneNumber,+  module ReOC.Name.CompanyRegisteredOffice,+  module ReOC.Name.Complexities,+  module ReOC.Name.ComputerExamination,+  module ReOC.Name.ContactPersonEmailAddress,+  module ReOC.Name.ContactPersonFullName,+  module ReOC.Name.ContactPersonPhoneNumber,+  module ReOC.Name.ContactPersonPosition,+  module ReOC.Name.CourseKind,+  module ReOC.Name.Crew,+  module ReOC.Name.CriConductsFlightTests,+  module ReOC.Name.CriIsCEO,+  module ReOC.Name.CriIsCRP,+  module ReOC.Name.CriIsMC,+  module ReOC.Name.CriNominated,+  module ReOC.Name.CriNominee,+  module ReOC.Name.CriNomineeCriIsCEO,+  module ReOC.Name.CriNomineeCriIsCRP,+  module ReOC.Name.CriNomineeCriIsMC,+  module ReOC.Name.CriNomineeCriNominated,+  module ReOC.Name.CriOtherReOCRoles,+  module ReOC.Name.CriminalConviction,+  module ReOC.Name.CrpIsCEO,+  module ReOC.Name.CrpIsOnlyRemotePilot,+  module ReOC.Name.CrpNominated,+  module ReOC.Name.CrpNominee,+  module ReOC.Name.CrpNomineeCrpIsCEO,+  module ReOC.Name.CrpNomineeCrpNominated,+  module ReOC.Name.Daily,+  module ReOC.Name.DateEntered,+  module ReOC.Name.DeclarantFullName,+  module ReOC.Name.DeclarantRole,+  module ReOC.Name.Declaration,+  module ReOC.Name.DeclarationDeclaredByAgent,+  module ReOC.Name.DeclarationDeclaredByCEO,+  module ReOC.Name.DeclarationDeclaredByOther,+  module ReOC.Name.DeclarationDeclaredByResponsibleManager,+  module ReOC.Name.DeclaredByAgent,+  module ReOC.Name.DeclaredByCEO,+  module ReOC.Name.DeclaredByOther,+  module ReOC.Name.DeclaredByResponsibleManager,+  module ReOC.Name.Details,+  module ReOC.Name.Director,+  module ReOC.Name.DirectorStatus,+  module ReOC.Name.DualControllerLink,+  module ReOC.Name.DutyHours,+  module ReOC.Name.Effective,+  module ReOC.Name.EmailAddress,+  module ReOC.Name.EmergencyActionActionSteps,+  module ReOC.Name.EmergencyActionResponse,+  module ReOC.Name.EmergencyActionSituation,+  module ReOC.Name.EmergencyActions,+  module ReOC.Name.EquipmentDescription,+  module ReOC.Name.EquipmentEquipmentDescription,+  module ReOC.Name.EquipmentSerialNumber,+  module ReOC.Name.Exam,+  module ReOC.Name.ExamPassMark,+  module ReOC.Name.Examiner,+  module ReOC.Name.ExistingControls,+  module ReOC.Name.ExtremelyImprobable,+  module ReOC.Name.FirstIssue,+  module ReOC.Name.FirstIssueDetails,+  module ReOC.Name.FirstIssueEffective,+  module ReOC.Name.FirstIssueIssueDate,+  module ReOC.Name.FirstIssueParts,+  module ReOC.Name.FirstIssueVersion,+  module ReOC.Name.Fleet,+  module ReOC.Name.FlightCrewLicence,+  module ReOC.Name.FlightTermination,+  module ReOC.Name.FlightTerminationFlightTerminationSystem,+  module ReOC.Name.FlightTerminationNoFlightTerminationSystem,+  module ReOC.Name.FlightTerminationSystem,+  module ReOC.Name.Frequent,+  module ReOC.Name.FullName,+  module ReOC.Name.GivenElements,+  module ReOC.Name.HasOperationalExperience,+  module ReOC.Name.Hazard,+  module ReOC.Name.Hazardous,+  module ReOC.Name.Helicopter,+  module ReOC.Name.High,+  module ReOC.Name.HistoryAnswerHistoryDisclosed,+  module ReOC.Name.HistoryAnswerNoHistory,+  module ReOC.Name.HistoryDisclosed,+  module ReOC.Name.HoldsRePLForEachType,+  module ReOC.Name.Improbable,+  module ReOC.Name.IndependentExaminerWhereAvailable,+  module ReOC.Name.IndependentReviewYears,+  module ReOC.Name.InitialCourse,+  module ReOC.Name.InitialRisk,+  module ReOC.Name.InspectionHours,+  module ReOC.Name.InspectionItems,+  module ReOC.Name.InspectionMonths,+  module ReOC.Name.InvalidABN,+  module ReOC.Name.InvalidARN,+  module ReOC.Name.InvalidEmailAddress,+  module ReOC.Name.InvalidFormText,+  module ReOC.Name.InvalidGrossWeight,+  module ReOC.Name.InvalidPassMark,+  module ReOC.Name.InvalidPercentage,+  module ReOC.Name.InvalidPhoneNumber,+  module ReOC.Name.InvalidPositive,+  module ReOC.Name.InvalidPostcode,+  module ReOC.Name.InvalidReviewMonths,+  module ReOC.Name.InvalidText1,+  module ReOC.Name.IssueDate,+  module ReOC.Name.KeyPersonnel,+  module ReOC.Name.KeyPersonnelChiefExecutive,+  module ReOC.Name.KeyPersonnelChiefPilot,+  module ReOC.Name.KeyPersonnelMcNominee,+  module ReOC.Name.Low,+  module ReOC.Name.MaintenanceController,+  module ReOC.Name.MajorRevision,+  module ReOC.Name.MajorVersion,+  module ReOC.Name.ManagementExperience,+  module ReOC.Name.MaxStudentsPerCourse,+  module ReOC.Name.MaxStudentsPerInstructor,+  module ReOC.Name.MaximumGrossWeight,+  module ReOC.Name.MaybeTrainingMaterial,+  module ReOC.Name.McIsCEO,+  module ReOC.Name.McIsCRP,+  module ReOC.Name.McNominated,+  module ReOC.Name.McNominee,+  module ReOC.Name.McNomineeMcIsCEO,+  module ReOC.Name.McNomineeMcIsCRP,+  module ReOC.Name.McNomineeMcNominated,+  module ReOC.Name.Medium,+  module ReOC.Name.Minor,+  module ReOC.Name.MinorRevision,+  module ReOC.Name.MinorVersion,+  module ReOC.Name.Moderate,+  module ReOC.Name.Monthly,+  module ReOC.Name.MonthsAfter,+  module ReOC.Name.MostElements,+  module ReOC.Name.Multirotor,+  module ReOC.Name.Negligible,+  module ReOC.Name.NewSouthWales,+  module ReOC.Name.NoFlightTerminationSystem,+  module ReOC.Name.NoHistory,+  module ReOC.Name.NoOtherReOCRoles,+  module ReOC.Name.NoRadioQualification,+  module ReOC.Name.NoRegulatoryAction,+  module ReOC.Name.NoTransponder,+  module ReOC.Name.Nominee,+  module ReOC.Name.NomineeAviationExperience,+  module ReOC.Name.NomineeOtherQualifications,+  module ReOC.Name.NomineePerson,+  module ReOC.Name.NorthernTerritory,+  module ReOC.Name.NotADirector,+  module ReOC.Name.Occasional,+  module ReOC.Name.OnlineTheory,+  module ReOC.Name.OperatedTypeAirframes,+  module ReOC.Name.OperatedTypeRpaType,+  module ReOC.Name.OperationalExperience,+  module ReOC.Name.OperationalExperienceHasOperationalExperience,+  module ReOC.Name.OperationalExperienceIntent,+  module ReOC.Name.OperationalExperienceNotApplicable,+  module ReOC.Name.OperationalExperienceOperationalExperienceIntent,+  module ReOC.Name.OperationalExperienceOperationalExperienceNotApplicable,+  module ReOC.Name.OperationalHeadquarters,+  module ReOC.Name.OperationalHeadquartersAddress,+  module ReOC.Name.OperationalHeadquartersAtRegisteredOffice,+  module ReOC.Name.OperationalHeadquartersOperationalHeadquartersAddress,+  module ReOC.Name.OperationsManual,+  module ReOC.Name.OperationsManualCrew,+  module ReOC.Name.OperationsManualFirstIssue,+  module ReOC.Name.OperationsManualPilots,+  module ReOC.Name.OperationsManualPolicies,+  module ReOC.Name.OperationsManualRevisions,+  module ReOC.Name.OperationsManualRiskRegister,+  module ReOC.Name.OperationsManualServices,+  module ReOC.Name.Operator,+  module ReOC.Name.OperatorCompany,+  module ReOC.Name.OperatorFleet,+  module ReOC.Name.OperatorKeyPersonnel,+  module ReOC.Name.OtherDocuments,+  module ReOC.Name.OtherQualifications,+  module ReOC.Name.OtherReOCRoles,+  module ReOC.Name.OtherReOCRolesHeld,+  module ReOC.Name.OtherReOCRolesNoOtherReOCRoles,+  module ReOC.Name.OtherReOCRolesOtherReOCRolesHeld,+  module ReOC.Name.OtherRemotePilots,+  module ReOC.Name.PaperExamination,+  module ReOC.Name.Parts,+  module ReOC.Name.Path,+  module ReOC.Name.Person,+  module ReOC.Name.PersonArn,+  module ReOC.Name.PersonEmailAddress,+  module ReOC.Name.PersonFullName,+  module ReOC.Name.PersonPhoneNumber,+  module ReOC.Name.PersonnelHistory,+  module ReOC.Name.PersonnelHistoryActionTaken,+  module ReOC.Name.PersonnelHistoryCriminalConviction,+  module ReOC.Name.PersonnelHistorySuspensionPending,+  module ReOC.Name.PersonnelHistoryTransportLicenceRefused,+  module ReOC.Name.PhoneNumber,+  module ReOC.Name.Pilots,+  module ReOC.Name.Policies,+  module ReOC.Name.PoliciesAlcoholHours,+  module ReOC.Name.PoliciesBackupFrequency,+  module ReOC.Name.PoliciesBatteryReserve,+  module ReOC.Name.PoliciesCheckingMonths,+  module ReOC.Name.PoliciesDutyHours,+  module ReOC.Name.PoliciesIndependentReviewYears,+  module ReOC.Name.PoliciesInspectionHours,+  module ReOC.Name.PoliciesInspectionMonths,+  module ReOC.Name.PoliciesRecencyDays,+  module ReOC.Name.PoliciesRecencyFlights,+  module ReOC.Name.PoliciesRefresherMonths,+  module ReOC.Name.PoliciesRestHours,+  module ReOC.Name.Position,+  module ReOC.Name.Postcode,+  module ReOC.Name.PoweredLift,+  module ReOC.Name.PplTheory,+  module ReOC.Name.PracticalAreas,+  module ReOC.Name.PrimaryContact,+  module ReOC.Name.PrimaryContactApplicantIsPrimaryContact,+  module ReOC.Name.PrimaryContactPerson,+  module ReOC.Name.PrimaryContactPrimaryContactPerson,+  module ReOC.Name.ProceduresLibrary,+  module ReOC.Name.Queensland,+  module ReOC.Name.Radio,+  module ReOC.Name.RadioOperatorCertificate,+  module ReOC.Name.ReOCApplicationForm,+  module ReOC.Name.ReOCMaybeTrainingMaterial,+  module ReOC.Name.ReOCOperationsManual,+  module ReOC.Name.ReOCOperator,+  module ReOC.Name.RePLHolding,+  module ReOC.Name.RePLHoldingHoldsRePLForEachType,+  module ReOC.Name.RePLHoldingIntent,+  module ReOC.Name.RePLHoldingRePLHoldingIntent,+  module ReOC.Name.RePLOrigin,+  module ReOC.Name.RePLOriginPplTheory,+  module ReOC.Name.RePLOriginRePLTrainingOrganisation,+  module ReOC.Name.RePLTrainingOrganisation,+  module ReOC.Name.RecencyDays,+  module ReOC.Name.RecencyFlights,+  module ReOC.Name.RefresherMonths,+  module ReOC.Name.RegisteredOffice,+  module ReOC.Name.RegulatoryActionActionDate,+  module ReOC.Name.RegulatoryActionActionDetails,+  module ReOC.Name.RegulatoryActionAuthorisationAction,+  module ReOC.Name.RegulatoryActionReocSuspendedOrCancelled,+  module ReOC.Name.RegulatoryActionTaken,+  module ReOC.Name.RegulatoryActionTypeOfAction,+  module ReOC.Name.RegulatoryHistory,+  module ReOC.Name.RegulatoryHistoryNoRegulatoryAction,+  module ReOC.Name.RegulatoryHistoryRegulatoryActionTaken,+  module ReOC.Name.Remote,+  module ReOC.Name.ReocSuspendedOrCancelled,+  module ReOC.Name.ResidualRisk,+  module ReOC.Name.Response,+  module ReOC.Name.RestHours,+  module ReOC.Name.ReviewMonths,+  module ReOC.Name.RevisionDetails,+  module ReOC.Name.RevisionEffective,+  module ReOC.Name.RevisionMonthsAfter,+  module ReOC.Name.RevisionParts,+  module ReOC.Name.RevisionVersionIncrement,+  module ReOC.Name.Revisions,+  module ReOC.Name.RiskAdditionalControls,+  module ReOC.Name.RiskAssessmentRiskConsequence,+  module ReOC.Name.RiskAssessmentRiskLikelihood,+  module ReOC.Name.RiskConsequence,+  module ReOC.Name.RiskDateEntered,+  module ReOC.Name.RiskDescription,+  module ReOC.Name.RiskExistingControls,+  module ReOC.Name.RiskHazard,+  module ReOC.Name.RiskInitialRisk,+  module ReOC.Name.RiskLikelihood,+  module ReOC.Name.RiskOwner,+  module ReOC.Name.RiskRegister,+  module ReOC.Name.RiskResidualRisk,+  module ReOC.Name.RiskReviewMonths,+  module ReOC.Name.RiskRiskDescription,+  module ReOC.Name.RiskRiskOwner,+  module ReOC.Name.Role,+  module ReOC.Name.RpaHistory,+  module ReOC.Name.RpaMake,+  module ReOC.Name.RpaModel,+  module ReOC.Name.RpaType,+  module ReOC.Name.RpaTypeBatteryWarnings,+  module ReOC.Name.RpaTypeBeforeFlight,+  module ReOC.Name.RpaTypeCategory,+  module ReOC.Name.RpaTypeEmergencyActions,+  module ReOC.Name.RpaTypeFlightTermination,+  module ReOC.Name.RpaTypeInspectionItems,+  module ReOC.Name.RpaTypeMaximumGrossWeight,+  module ReOC.Name.RpaTypeRpaMake,+  module ReOC.Name.RpaTypeRpaModel,+  module ReOC.Name.RpaTypeShortName,+  module ReOC.Name.RpaTypeTransponderCarriage,+  module ReOC.Name.RpaTypeUserManual,+  module ReOC.Name.SerialNumber,+  module ReOC.Name.Services,+  module ReOC.Name.SharedController,+  module ReOC.Name.ShortName,+  module ReOC.Name.Signature,+  module ReOC.Name.Simulator,+  module ReOC.Name.Situation,+  module ReOC.Name.SoleDirector,+  module ReOC.Name.SoloAndMultiCrewOperations,+  module ReOC.Name.SoloOperationsOnly,+  module ReOC.Name.SouthAustralia,+  module ReOC.Name.StateOrTerritory,+  module ReOC.Name.StepIndex,+  module ReOC.Name.StreetAddress,+  module ReOC.Name.Suburb,+  module ReOC.Name.SuspensionPending,+  module ReOC.Name.Takeover,+  module ReOC.Name.Tasmania,+  module ReOC.Name.TeachingQualification,+  module ReOC.Name.TeachingQualificationHeld,+  module ReOC.Name.TeachingQualificationIntent,+  module ReOC.Name.TeachingQualificationTeachingQualificationHeld,+  module ReOC.Name.TeachingQualificationTeachingQualificationIntent,+  module ReOC.Name.Theory,+  module ReOC.Name.TheoryVenues,+  module ReOC.Name.TrainingArrangements,+  module ReOC.Name.TrainingArrangementsExam,+  module ReOC.Name.TrainingArrangementsExamPassMark,+  module ReOC.Name.TrainingArrangementsExaminer,+  module ReOC.Name.TrainingArrangementsMaxStudentsPerCourse,+  module ReOC.Name.TrainingArrangementsMaxStudentsPerInstructor,+  module ReOC.Name.TrainingArrangementsPracticalAreas,+  module ReOC.Name.TrainingArrangementsSimulator,+  module ReOC.Name.TrainingArrangementsTakeover,+  module ReOC.Name.TrainingArrangementsTheory,+  module ReOC.Name.TrainingArrangementsTheoryVenues,+  module ReOC.Name.TrainingCourseComplexities,+  module ReOC.Name.TrainingCourseCourseKind,+  module ReOC.Name.TrainingCourseTrainingRPA,+  module ReOC.Name.TrainingCourses,+  module ReOC.Name.TrainingMaterialCriNominee,+  module ReOC.Name.TrainingMaterialCriOtherReOCRoles,+  module ReOC.Name.TrainingMaterialOperationalExperience,+  module ReOC.Name.TrainingMaterialRePLHolding,+  module ReOC.Name.TrainingMaterialTeachingQualification,+  module ReOC.Name.TrainingMaterialTrainingArrangements,+  module ReOC.Name.TrainingMaterialTrainingCourses,+  module ReOC.Name.TrainingRPA,+  module ReOC.Name.TransponderCarriage,+  module ReOC.Name.TransponderFitted,+  module ReOC.Name.TransportLicenceRefused,+  module ReOC.Name.TypeOfAction,+  module ReOC.Name.UpgradeDifferentCategory,+  module ReOC.Name.UpgradeSameCategory,+  module ReOC.Name.UserManual,+  module ReOC.Name.Version,+  module ReOC.Name.VersionIncrement,+  module ReOC.Name.VersionMajorVersion,+  module ReOC.Name.VersionMinorVersion,+  module ReOC.Name.Victoria,+  module ReOC.Name.Weekly,+  module ReOC.Name.WesternAustralia,+  module ReOC.Name.WrittenSignatureFile,+  module ReOC.Name.WrittenSignatureImage,+  module ReOC.Name.WrittenSignatureWrittenSignatureFile,+  module ReOC.Name.WrittenSignatureWrittenSignatureImage,+  module ReOC.Primitive.ABN,+  module ReOC.Primitive.ARN,+  module ReOC.Primitive.AtMost,+  module ReOC.Primitive.EmailAddress,+  module ReOC.Primitive.FormFont,+  module ReOC.Primitive.FormText,+  module ReOC.Primitive.GrossWeight,+  module ReOC.Primitive.PassMark,+  module ReOC.Primitive.Percentage,+  module ReOC.Primitive.PhoneNumber,+  module ReOC.Primitive.Positive,+  module ReOC.Primitive.Postcode,+  module ReOC.Primitive.ReviewMonths,+  module ReOC.Primitive.Some,+  module ReOC.Primitive.Text1,+) where++import ReOC.Data.Address+import ReOC.Data.Aircraft+import ReOC.Data.ApplicationForm+import ReOC.Data.AustralianState+import ReOC.Data.BackupInterval+import ReOC.Data.CRINominee+import ReOC.Data.CRPNominee+import ReOC.Data.ChiefExecutive+import ReOC.Data.ChiefPilot+import ReOC.Data.Company+import ReOC.Data.Complexity+import ReOC.Data.Consequence+import ReOC.Data.ContactPerson+import ReOC.Data.CourseType+import ReOC.Data.Crewing+import ReOC.Data.Declarant+import ReOC.Data.Declaration+import ReOC.Data.Directorship+import ReOC.Data.EmergencyAction+import ReOC.Data.Equipment+import ReOC.Data.ExamDelivery+import ReOC.Data.Field+import ReOC.Data.FirstIssue+import ReOC.Data.FlightTermination+import ReOC.Data.FlightTestExaminer+import ReOC.Data.HistoryAnswer+import ReOC.Data.InstructorTakeover+import ReOC.Data.Invalid+import ReOC.Data.InvalidValue+import ReOC.Data.KeyPersonnel+import ReOC.Data.KeyPosition+import ReOC.Data.Likelihood+import ReOC.Data.MCNominee+import ReOC.Data.Nominee+import ReOC.Data.OperatedType+import ReOC.Data.OperationalExperience+import ReOC.Data.OperationalHeadquarters+import ReOC.Data.OperationsManual+import ReOC.Data.Operator+import ReOC.Data.OtherReOCRoles+import ReOC.Data.Person+import ReOC.Data.PersonnelHistory+import ReOC.Data.Policies+import ReOC.Data.PrimaryContact+import ReOC.Data.RPACategory+import ReOC.Data.RPAType+import ReOC.Data.RadioQualification+import ReOC.Data.ReOC+import ReOC.Data.ReOCError+import ReOC.Data.RePLHolding+import ReOC.Data.RePLOrigin+import ReOC.Data.RegulatoryAction+import ReOC.Data.RegulatoryHistory+import ReOC.Data.RemotePilots+import ReOC.Data.Revision+import ReOC.Data.Risk+import ReOC.Data.RiskAssessment+import ReOC.Data.RiskLevel+import ReOC.Data.Step+import ReOC.Data.TeachingQualification+import ReOC.Data.TheoryDelivery+import ReOC.Data.TooMany+import ReOC.Data.TrainingArrangements+import ReOC.Data.TrainingCourse+import ReOC.Data.TrainingMaterial+import ReOC.Data.Transponder+import ReOC.Data.Unfilled+import ReOC.Data.Version+import ReOC.Data.VersionChange+import ReOC.Data.WrittenSignature+import ReOC.Name.Abn+import ReOC.Name.ActionDate+import ReOC.Name.ActionDetails+import ReOC.Name.ActionSteps+import ReOC.Name.ActionTaken+import ReOC.Name.AdditionalControls+import ReOC.Name.AddressPostcode+import ReOC.Name.AddressStateOrTerritory+import ReOC.Name.AddressStreetAddress+import ReOC.Name.AddressSuburb+import ReOC.Name.Aeroplane+import ReOC.Name.AircraftAssociatedEquipment+import ReOC.Name.AircraftSerialNumber+import ReOC.Name.Airframes+import ReOC.Name.AlcoholHours+import ReOC.Name.ApplicantIsPrimaryContact+import ReOC.Name.ApplicationForm+import ReOC.Name.ApplicationFormDeclaration+import ReOC.Name.ApplicationFormOtherDocuments+import ReOC.Name.ApplicationFormPersonnelHistory+import ReOC.Name.ApplicationFormPrimaryContact+import ReOC.Name.ApplicationFormProceduresLibrary+import ReOC.Name.ApplicationFormRegulatoryHistory+import ReOC.Name.ApplicationFormSignature+import ReOC.Name.Arn+import ReOC.Name.AssociatedEquipment+import ReOC.Name.AtRegisteredOffice+import ReOC.Name.AustralianCapitalTerritory+import ReOC.Name.AuthorisationAction+import ReOC.Name.AutomatedAndManual+import ReOC.Name.AutomatedOnly+import ReOC.Name.AviationExperience+import ReOC.Name.BackupFrequency+import ReOC.Name.BatteryReserve+import ReOC.Name.BatteryWarnings+import ReOC.Name.BeforeFlight+import ReOC.Name.BlendedTheory+import ReOC.Name.BusinessName+import ReOC.Name.Catastrophic+import ReOC.Name.Category+import ReOC.Name.CheckingMonths+import ReOC.Name.ChiefExecutive+import ReOC.Name.ChiefExecutiveDirectorStatus+import ReOC.Name.ChiefExecutiveManagementExperience+import ReOC.Name.ChiefExecutiveNominee+import ReOC.Name.ChiefExecutiveOfficer+import ReOC.Name.ChiefPilot+import ReOC.Name.ChiefPilotCrpNominee+import ReOC.Name.ChiefPilotOtherReOCRoles+import ReOC.Name.ChiefPilotRadio+import ReOC.Name.ChiefPilotRePLOrigin+import ReOC.Name.ChiefPilotRpaHistory+import ReOC.Name.ChiefRemotePilot+import ReOC.Name.ClassroomTheory+import ReOC.Name.Company+import ReOC.Name.CompanyAbn+import ReOC.Name.CompanyArn+import ReOC.Name.CompanyBusinessName+import ReOC.Name.CompanyCompanyName+import ReOC.Name.CompanyEmailAddress+import ReOC.Name.CompanyName+import ReOC.Name.CompanyOperationalHeadquarters+import ReOC.Name.CompanyPhoneNumber+import ReOC.Name.CompanyRegisteredOffice+import ReOC.Name.Complexities+import ReOC.Name.ComputerExamination+import ReOC.Name.ContactPersonEmailAddress+import ReOC.Name.ContactPersonFullName+import ReOC.Name.ContactPersonPhoneNumber+import ReOC.Name.ContactPersonPosition+import ReOC.Name.CourseKind+import ReOC.Name.Crew+import ReOC.Name.CriConductsFlightTests+import ReOC.Name.CriIsCEO+import ReOC.Name.CriIsCRP+import ReOC.Name.CriIsMC+import ReOC.Name.CriNominated+import ReOC.Name.CriNominee+import ReOC.Name.CriNomineeCriIsCEO+import ReOC.Name.CriNomineeCriIsCRP+import ReOC.Name.CriNomineeCriIsMC+import ReOC.Name.CriNomineeCriNominated+import ReOC.Name.CriOtherReOCRoles+import ReOC.Name.CriminalConviction+import ReOC.Name.CrpIsCEO+import ReOC.Name.CrpIsOnlyRemotePilot+import ReOC.Name.CrpNominated+import ReOC.Name.CrpNominee+import ReOC.Name.CrpNomineeCrpIsCEO+import ReOC.Name.CrpNomineeCrpNominated+import ReOC.Name.Daily+import ReOC.Name.DateEntered+import ReOC.Name.DeclarantFullName+import ReOC.Name.DeclarantRole+import ReOC.Name.Declaration+import ReOC.Name.DeclarationDeclaredByAgent+import ReOC.Name.DeclarationDeclaredByCEO+import ReOC.Name.DeclarationDeclaredByOther+import ReOC.Name.DeclarationDeclaredByResponsibleManager+import ReOC.Name.DeclaredByAgent+import ReOC.Name.DeclaredByCEO+import ReOC.Name.DeclaredByOther+import ReOC.Name.DeclaredByResponsibleManager+import ReOC.Name.Details+import ReOC.Name.Director+import ReOC.Name.DirectorStatus+import ReOC.Name.DualControllerLink+import ReOC.Name.DutyHours+import ReOC.Name.Effective+import ReOC.Name.EmailAddress+import ReOC.Name.EmergencyActionActionSteps+import ReOC.Name.EmergencyActionResponse+import ReOC.Name.EmergencyActionSituation+import ReOC.Name.EmergencyActions+import ReOC.Name.EquipmentDescription+import ReOC.Name.EquipmentEquipmentDescription+import ReOC.Name.EquipmentSerialNumber+import ReOC.Name.Exam+import ReOC.Name.ExamPassMark+import ReOC.Name.Examiner+import ReOC.Name.ExistingControls+import ReOC.Name.ExtremelyImprobable+import ReOC.Name.FirstIssue+import ReOC.Name.FirstIssueDetails+import ReOC.Name.FirstIssueEffective+import ReOC.Name.FirstIssueIssueDate+import ReOC.Name.FirstIssueParts+import ReOC.Name.FirstIssueVersion+import ReOC.Name.Fleet+import ReOC.Name.FlightCrewLicence+import ReOC.Name.FlightTermination+import ReOC.Name.FlightTerminationFlightTerminationSystem+import ReOC.Name.FlightTerminationNoFlightTerminationSystem+import ReOC.Name.FlightTerminationSystem+import ReOC.Name.Frequent+import ReOC.Name.FullName+import ReOC.Name.GivenElements+import ReOC.Name.HasOperationalExperience+import ReOC.Name.Hazard+import ReOC.Name.Hazardous+import ReOC.Name.Helicopter+import ReOC.Name.High+import ReOC.Name.HistoryAnswerHistoryDisclosed+import ReOC.Name.HistoryAnswerNoHistory+import ReOC.Name.HistoryDisclosed+import ReOC.Name.HoldsRePLForEachType+import ReOC.Name.Improbable+import ReOC.Name.IndependentExaminerWhereAvailable+import ReOC.Name.IndependentReviewYears+import ReOC.Name.InitialCourse+import ReOC.Name.InitialRisk+import ReOC.Name.InspectionHours+import ReOC.Name.InspectionItems+import ReOC.Name.InspectionMonths+import ReOC.Name.InvalidABN+import ReOC.Name.InvalidARN+import ReOC.Name.InvalidEmailAddress+import ReOC.Name.InvalidFormText+import ReOC.Name.InvalidGrossWeight+import ReOC.Name.InvalidPassMark+import ReOC.Name.InvalidPercentage+import ReOC.Name.InvalidPhoneNumber+import ReOC.Name.InvalidPositive+import ReOC.Name.InvalidPostcode+import ReOC.Name.InvalidReviewMonths+import ReOC.Name.InvalidText1+import ReOC.Name.IssueDate+import ReOC.Name.KeyPersonnel+import ReOC.Name.KeyPersonnelChiefExecutive+import ReOC.Name.KeyPersonnelChiefPilot+import ReOC.Name.KeyPersonnelMcNominee+import ReOC.Name.Low+import ReOC.Name.MaintenanceController+import ReOC.Name.MajorRevision+import ReOC.Name.MajorVersion+import ReOC.Name.ManagementExperience+import ReOC.Name.MaxStudentsPerCourse+import ReOC.Name.MaxStudentsPerInstructor+import ReOC.Name.MaximumGrossWeight+import ReOC.Name.MaybeTrainingMaterial+import ReOC.Name.McIsCEO+import ReOC.Name.McIsCRP+import ReOC.Name.McNominated+import ReOC.Name.McNominee+import ReOC.Name.McNomineeMcIsCEO+import ReOC.Name.McNomineeMcIsCRP+import ReOC.Name.McNomineeMcNominated+import ReOC.Name.Medium+import ReOC.Name.Minor+import ReOC.Name.MinorRevision+import ReOC.Name.MinorVersion+import ReOC.Name.Moderate+import ReOC.Name.Monthly+import ReOC.Name.MonthsAfter+import ReOC.Name.MostElements+import ReOC.Name.Multirotor+import ReOC.Name.Negligible+import ReOC.Name.NewSouthWales+import ReOC.Name.NoFlightTerminationSystem+import ReOC.Name.NoHistory+import ReOC.Name.NoOtherReOCRoles+import ReOC.Name.NoRadioQualification+import ReOC.Name.NoRegulatoryAction+import ReOC.Name.NoTransponder+import ReOC.Name.Nominee+import ReOC.Name.NomineeAviationExperience+import ReOC.Name.NomineeOtherQualifications+import ReOC.Name.NomineePerson+import ReOC.Name.NorthernTerritory+import ReOC.Name.NotADirector+import ReOC.Name.Occasional+import ReOC.Name.OnlineTheory+import ReOC.Name.OperatedTypeAirframes+import ReOC.Name.OperatedTypeRpaType+import ReOC.Name.OperationalExperience+import ReOC.Name.OperationalExperienceHasOperationalExperience+import ReOC.Name.OperationalExperienceIntent+import ReOC.Name.OperationalExperienceNotApplicable+import ReOC.Name.OperationalExperienceOperationalExperienceIntent+import ReOC.Name.OperationalExperienceOperationalExperienceNotApplicable+import ReOC.Name.OperationalHeadquarters+import ReOC.Name.OperationalHeadquartersAddress+import ReOC.Name.OperationalHeadquartersAtRegisteredOffice+import ReOC.Name.OperationalHeadquartersOperationalHeadquartersAddress+import ReOC.Name.OperationsManual+import ReOC.Name.OperationsManualCrew+import ReOC.Name.OperationsManualFirstIssue+import ReOC.Name.OperationsManualPilots+import ReOC.Name.OperationsManualPolicies+import ReOC.Name.OperationsManualRevisions+import ReOC.Name.OperationsManualRiskRegister+import ReOC.Name.OperationsManualServices+import ReOC.Name.Operator+import ReOC.Name.OperatorCompany+import ReOC.Name.OperatorFleet+import ReOC.Name.OperatorKeyPersonnel+import ReOC.Name.OtherDocuments+import ReOC.Name.OtherQualifications+import ReOC.Name.OtherReOCRoles+import ReOC.Name.OtherReOCRolesHeld+import ReOC.Name.OtherReOCRolesNoOtherReOCRoles+import ReOC.Name.OtherReOCRolesOtherReOCRolesHeld+import ReOC.Name.OtherRemotePilots+import ReOC.Name.PaperExamination+import ReOC.Name.Parts+import ReOC.Name.Path+import ReOC.Name.Person+import ReOC.Name.PersonArn+import ReOC.Name.PersonEmailAddress+import ReOC.Name.PersonFullName+import ReOC.Name.PersonPhoneNumber+import ReOC.Name.PersonnelHistory+import ReOC.Name.PersonnelHistoryActionTaken+import ReOC.Name.PersonnelHistoryCriminalConviction+import ReOC.Name.PersonnelHistorySuspensionPending+import ReOC.Name.PersonnelHistoryTransportLicenceRefused+import ReOC.Name.PhoneNumber+import ReOC.Name.Pilots+import ReOC.Name.Policies+import ReOC.Name.PoliciesAlcoholHours+import ReOC.Name.PoliciesBackupFrequency+import ReOC.Name.PoliciesBatteryReserve+import ReOC.Name.PoliciesCheckingMonths+import ReOC.Name.PoliciesDutyHours+import ReOC.Name.PoliciesIndependentReviewYears+import ReOC.Name.PoliciesInspectionHours+import ReOC.Name.PoliciesInspectionMonths+import ReOC.Name.PoliciesRecencyDays+import ReOC.Name.PoliciesRecencyFlights+import ReOC.Name.PoliciesRefresherMonths+import ReOC.Name.PoliciesRestHours+import ReOC.Name.Position+import ReOC.Name.Postcode+import ReOC.Name.PoweredLift+import ReOC.Name.PplTheory+import ReOC.Name.PracticalAreas+import ReOC.Name.PrimaryContact+import ReOC.Name.PrimaryContactApplicantIsPrimaryContact+import ReOC.Name.PrimaryContactPerson+import ReOC.Name.PrimaryContactPrimaryContactPerson+import ReOC.Name.ProceduresLibrary+import ReOC.Name.Queensland+import ReOC.Name.Radio+import ReOC.Name.RadioOperatorCertificate+import ReOC.Name.ReOCApplicationForm+import ReOC.Name.ReOCMaybeTrainingMaterial+import ReOC.Name.ReOCOperationsManual+import ReOC.Name.ReOCOperator+import ReOC.Name.RePLHolding+import ReOC.Name.RePLHoldingHoldsRePLForEachType+import ReOC.Name.RePLHoldingIntent+import ReOC.Name.RePLHoldingRePLHoldingIntent+import ReOC.Name.RePLOrigin+import ReOC.Name.RePLOriginPplTheory+import ReOC.Name.RePLOriginRePLTrainingOrganisation+import ReOC.Name.RePLTrainingOrganisation+import ReOC.Name.RecencyDays+import ReOC.Name.RecencyFlights+import ReOC.Name.RefresherMonths+import ReOC.Name.RegisteredOffice+import ReOC.Name.RegulatoryActionActionDate+import ReOC.Name.RegulatoryActionActionDetails+import ReOC.Name.RegulatoryActionAuthorisationAction+import ReOC.Name.RegulatoryActionReocSuspendedOrCancelled+import ReOC.Name.RegulatoryActionTaken+import ReOC.Name.RegulatoryActionTypeOfAction+import ReOC.Name.RegulatoryHistory+import ReOC.Name.RegulatoryHistoryNoRegulatoryAction+import ReOC.Name.RegulatoryHistoryRegulatoryActionTaken+import ReOC.Name.Remote+import ReOC.Name.ReocSuspendedOrCancelled+import ReOC.Name.ResidualRisk+import ReOC.Name.Response+import ReOC.Name.RestHours+import ReOC.Name.ReviewMonths+import ReOC.Name.RevisionDetails+import ReOC.Name.RevisionEffective+import ReOC.Name.RevisionMonthsAfter+import ReOC.Name.RevisionParts+import ReOC.Name.RevisionVersionIncrement+import ReOC.Name.Revisions+import ReOC.Name.RiskAdditionalControls+import ReOC.Name.RiskAssessmentRiskConsequence+import ReOC.Name.RiskAssessmentRiskLikelihood+import ReOC.Name.RiskConsequence+import ReOC.Name.RiskDateEntered+import ReOC.Name.RiskDescription+import ReOC.Name.RiskExistingControls+import ReOC.Name.RiskHazard+import ReOC.Name.RiskInitialRisk+import ReOC.Name.RiskLikelihood+import ReOC.Name.RiskOwner+import ReOC.Name.RiskRegister+import ReOC.Name.RiskResidualRisk+import ReOC.Name.RiskReviewMonths+import ReOC.Name.RiskRiskDescription+import ReOC.Name.RiskRiskOwner+import ReOC.Name.Role+import ReOC.Name.RpaHistory+import ReOC.Name.RpaMake+import ReOC.Name.RpaModel+import ReOC.Name.RpaType+import ReOC.Name.RpaTypeBatteryWarnings+import ReOC.Name.RpaTypeBeforeFlight+import ReOC.Name.RpaTypeCategory+import ReOC.Name.RpaTypeEmergencyActions+import ReOC.Name.RpaTypeFlightTermination+import ReOC.Name.RpaTypeInspectionItems+import ReOC.Name.RpaTypeMaximumGrossWeight+import ReOC.Name.RpaTypeRpaMake+import ReOC.Name.RpaTypeRpaModel+import ReOC.Name.RpaTypeShortName+import ReOC.Name.RpaTypeTransponderCarriage+import ReOC.Name.RpaTypeUserManual+import ReOC.Name.SerialNumber+import ReOC.Name.Services+import ReOC.Name.SharedController+import ReOC.Name.ShortName+import ReOC.Name.Signature+import ReOC.Name.Simulator+import ReOC.Name.Situation+import ReOC.Name.SoleDirector+import ReOC.Name.SoloAndMultiCrewOperations+import ReOC.Name.SoloOperationsOnly+import ReOC.Name.SouthAustralia+import ReOC.Name.StateOrTerritory+import ReOC.Name.StepIndex+import ReOC.Name.StreetAddress+import ReOC.Name.Suburb+import ReOC.Name.SuspensionPending+import ReOC.Name.Takeover+import ReOC.Name.Tasmania+import ReOC.Name.TeachingQualification+import ReOC.Name.TeachingQualificationHeld+import ReOC.Name.TeachingQualificationIntent+import ReOC.Name.TeachingQualificationTeachingQualificationHeld+import ReOC.Name.TeachingQualificationTeachingQualificationIntent+import ReOC.Name.Theory+import ReOC.Name.TheoryVenues+import ReOC.Name.TrainingArrangements+import ReOC.Name.TrainingArrangementsExam+import ReOC.Name.TrainingArrangementsExamPassMark+import ReOC.Name.TrainingArrangementsExaminer+import ReOC.Name.TrainingArrangementsMaxStudentsPerCourse+import ReOC.Name.TrainingArrangementsMaxStudentsPerInstructor+import ReOC.Name.TrainingArrangementsPracticalAreas+import ReOC.Name.TrainingArrangementsSimulator+import ReOC.Name.TrainingArrangementsTakeover+import ReOC.Name.TrainingArrangementsTheory+import ReOC.Name.TrainingArrangementsTheoryVenues+import ReOC.Name.TrainingCourseComplexities+import ReOC.Name.TrainingCourseCourseKind+import ReOC.Name.TrainingCourseTrainingRPA+import ReOC.Name.TrainingCourses+import ReOC.Name.TrainingMaterialCriNominee+import ReOC.Name.TrainingMaterialCriOtherReOCRoles+import ReOC.Name.TrainingMaterialOperationalExperience+import ReOC.Name.TrainingMaterialRePLHolding+import ReOC.Name.TrainingMaterialTeachingQualification+import ReOC.Name.TrainingMaterialTrainingArrangements+import ReOC.Name.TrainingMaterialTrainingCourses+import ReOC.Name.TrainingRPA+import ReOC.Name.TransponderCarriage+import ReOC.Name.TransponderFitted+import ReOC.Name.TransportLicenceRefused+import ReOC.Name.TypeOfAction+import ReOC.Name.UpgradeDifferentCategory+import ReOC.Name.UpgradeSameCategory+import ReOC.Name.UserManual+import ReOC.Name.Version+import ReOC.Name.VersionIncrement+import ReOC.Name.VersionMajorVersion+import ReOC.Name.VersionMinorVersion+import ReOC.Name.Victoria+import ReOC.Name.Weekly+import ReOC.Name.WesternAustralia+import ReOC.Name.WrittenSignatureFile+import ReOC.Name.WrittenSignatureImage+import ReOC.Name.WrittenSignatureWrittenSignatureFile+import ReOC.Name.WrittenSignatureWrittenSignatureImage+import ReOC.Primitive.ABN+import ReOC.Primitive.ARN+import ReOC.Primitive.AtMost+import ReOC.Primitive.EmailAddress+import ReOC.Primitive.FormFont+import ReOC.Primitive.FormText+import ReOC.Primitive.GrossWeight+import ReOC.Primitive.PassMark+import ReOC.Primitive.Percentage+import ReOC.Primitive.PhoneNumber+import ReOC.Primitive.Positive+import ReOC.Primitive.Postcode+import ReOC.Primitive.ReviewMonths+import ReOC.Primitive.Some+import ReOC.Primitive.Text1
+ src/ReOC/Name/Abn.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @abn@, whose target is a type parameter. It names a field or constructor of @Company'@.+module ReOC.Name.Abn (+  AbnLike (..),+) where++import Control.Lens (Optic)++class AbnLike p f x x' a a' | x -> a where+  abn ::+    Optic p f x x' a a'
+ src/ReOC/Name/ActionDate.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @actionDate@, whose target is a type parameter. It names a field or constructor of @RegulatoryAction'@.+module ReOC.Name.ActionDate (+  ActionDateLike (..),+) where++import Control.Lens (Optic)++class ActionDateLike p f x x' a a' | x -> a where+  actionDate ::+    Optic p f x x' a a'
+ src/ReOC/Name/ActionDetails.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @actionDetails@, whose target is a type parameter. It names a field or constructor of @RegulatoryAction'@.+module ReOC.Name.ActionDetails (+  ActionDetailsLike (..),+) where++import Control.Lens (Optic)++class ActionDetailsLike p f x x' a a' | x -> a where+  actionDetails ::+    Optic p f x x' a a'
+ src/ReOC/Name/ActionSteps.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @actionSteps@, whose target is a type parameter. It names a field or constructor of @EmergencyAction'@.+module ReOC.Name.ActionSteps (+  ActionStepsLike (..),+) where++import Control.Lens (Optic)++class ActionStepsLike p f x x' a a' | x -> a where+  actionSteps ::+    Optic p f x x' a a'
+ src/ReOC/Name/ActionTaken.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @actionTaken@, whose target is a type parameter. It names a field or constructor of @PersonnelHistory'@.+module ReOC.Name.ActionTaken (+  ActionTakenLike (..),+) where++import Control.Lens (Optic)++class ActionTakenLike p f x x' a a' | x -> a where+  actionTaken ::+    Optic p f x x' a a'
+ src/ReOC/Name/AdditionalControls.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @additionalControls@, whose target is a type parameter. It names a field or constructor of @Risk'@.+module ReOC.Name.AdditionalControls (+  AdditionalControlsLike (..),+) where++import Control.Lens (Optic)++class AdditionalControlsLike p f x x' a a' | x -> a where+  additionalControls ::+    Optic p f x x' a a'
+ src/ReOC/Name/AddressPostcode.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @addressPostcode@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.AddressPostcode (+  AddressPostcodeLike (..),+) where++import Control.Lens (Optic)++class AddressPostcodeLike p f x x' where+  addressPostcode ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AddressPostcodeLike p f () x' where+  addressPostcode = id
+ src/ReOC/Name/AddressStateOrTerritory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @addressStateOrTerritory@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.AddressStateOrTerritory (+  AddressStateOrTerritoryLike (..),+) where++import Control.Lens (Optic)++class AddressStateOrTerritoryLike p f x x' where+  addressStateOrTerritory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AddressStateOrTerritoryLike p f () x' where+  addressStateOrTerritory = id
+ src/ReOC/Name/AddressStreetAddress.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @addressStreetAddress@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.AddressStreetAddress (+  AddressStreetAddressLike (..),+) where++import Control.Lens (Optic)++class AddressStreetAddressLike p f x x' where+  addressStreetAddress ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AddressStreetAddressLike p f () x' where+  addressStreetAddress = id
+ src/ReOC/Name/AddressSuburb.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @addressSuburb@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.AddressSuburb (+  AddressSuburbLike (..),+) where++import Control.Lens (Optic)++class AddressSuburbLike p f x x' where+  addressSuburb ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AddressSuburbLike p f () x' where+  addressSuburb = id
+ src/ReOC/Name/Aeroplane.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @aeroplane@, which targets @()@. It names a field or constructor of @RPACategory@.+module ReOC.Name.Aeroplane (+  AeroplaneLike (..),+) where++import Control.Lens (Optic)++class AeroplaneLike p f x x' where+  aeroplane ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AeroplaneLike p f () x' where+  aeroplane = id
+ src/ReOC/Name/AircraftAssociatedEquipment.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @aircraftAssociatedEquipment@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.AircraftAssociatedEquipment (+  AircraftAssociatedEquipmentLike (..),+) where++import Control.Lens (Optic)++class AircraftAssociatedEquipmentLike p f x x' where+  aircraftAssociatedEquipment ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AircraftAssociatedEquipmentLike p f () x' where+  aircraftAssociatedEquipment = id
+ src/ReOC/Name/AircraftSerialNumber.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @aircraftSerialNumber@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.AircraftSerialNumber (+  AircraftSerialNumberLike (..),+) where++import Control.Lens (Optic)++class AircraftSerialNumberLike p f x x' where+  aircraftSerialNumber ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AircraftSerialNumberLike p f () x' where+  aircraftSerialNumber = id
+ src/ReOC/Name/Airframes.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @airframes@, whose target is a type parameter. It names a field or constructor of @OperatedType'@.+module ReOC.Name.Airframes (+  AirframesLike (..),+) where++import Control.Lens (Optic)++class AirframesLike p f x x' a a' | x -> a where+  airframes ::+    Optic p f x x' a a'
+ src/ReOC/Name/AlcoholHours.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @alcoholHours@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.AlcoholHours (+  AlcoholHoursLike (..),+) where++import Control.Lens (Optic)++class AlcoholHoursLike p f x x' a a' | x -> a where+  alcoholHours ::+    Optic p f x x' a a'
+ src/ReOC/Name/ApplicantIsPrimaryContact.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @applicantIsPrimaryContact@, which targets @()@. It names a field or constructor of @PrimaryContact'@.+module ReOC.Name.ApplicantIsPrimaryContact (+  ApplicantIsPrimaryContactLike (..),+) where++import Control.Lens (Optic)++class ApplicantIsPrimaryContactLike p f x x' where+  applicantIsPrimaryContact ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ApplicantIsPrimaryContactLike p f () x' where+  applicantIsPrimaryContact = id
+ src/ReOC/Name/ApplicationForm.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @applicationForm@, whose target is a type parameter. It names a field or constructor of @ReOC'@.+module ReOC.Name.ApplicationForm (+  ApplicationFormLike (..),+) where++import Control.Lens (Optic)++class ApplicationFormLike p f x x' a a' | x -> a where+  applicationForm ::+    Optic p f x x' a a'
+ src/ReOC/Name/ApplicationFormDeclaration.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @applicationFormDeclaration@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ApplicationFormDeclaration (+  ApplicationFormDeclarationLike (..),+) where++import Control.Lens (Optic)++class ApplicationFormDeclarationLike p f x x' where+  applicationFormDeclaration ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ApplicationFormDeclarationLike p f () x' where+  applicationFormDeclaration = id
+ src/ReOC/Name/ApplicationFormOtherDocuments.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @applicationFormOtherDocuments@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ApplicationFormOtherDocuments (+  ApplicationFormOtherDocumentsLike (..),+) where++import Control.Lens (Optic)++class ApplicationFormOtherDocumentsLike p f x x' where+  applicationFormOtherDocuments ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ApplicationFormOtherDocumentsLike p f () x' where+  applicationFormOtherDocuments = id
+ src/ReOC/Name/ApplicationFormPersonnelHistory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @applicationFormPersonnelHistory@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ApplicationFormPersonnelHistory (+  ApplicationFormPersonnelHistoryLike (..),+) where++import Control.Lens (Optic)++class ApplicationFormPersonnelHistoryLike p f x x' where+  applicationFormPersonnelHistory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ApplicationFormPersonnelHistoryLike p f () x' where+  applicationFormPersonnelHistory = id
+ src/ReOC/Name/ApplicationFormPrimaryContact.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @applicationFormPrimaryContact@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ApplicationFormPrimaryContact (+  ApplicationFormPrimaryContactLike (..),+) where++import Control.Lens (Optic)++class ApplicationFormPrimaryContactLike p f x x' where+  applicationFormPrimaryContact ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ApplicationFormPrimaryContactLike p f () x' where+  applicationFormPrimaryContact = id
+ src/ReOC/Name/ApplicationFormProceduresLibrary.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @applicationFormProceduresLibrary@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ApplicationFormProceduresLibrary (+  ApplicationFormProceduresLibraryLike (..),+) where++import Control.Lens (Optic)++class ApplicationFormProceduresLibraryLike p f x x' where+  applicationFormProceduresLibrary ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ApplicationFormProceduresLibraryLike p f () x' where+  applicationFormProceduresLibrary = id
+ src/ReOC/Name/ApplicationFormRegulatoryHistory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @applicationFormRegulatoryHistory@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ApplicationFormRegulatoryHistory (+  ApplicationFormRegulatoryHistoryLike (..),+) where++import Control.Lens (Optic)++class ApplicationFormRegulatoryHistoryLike p f x x' where+  applicationFormRegulatoryHistory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ApplicationFormRegulatoryHistoryLike p f () x' where+  applicationFormRegulatoryHistory = id
+ src/ReOC/Name/ApplicationFormSignature.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @applicationFormSignature@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ApplicationFormSignature (+  ApplicationFormSignatureLike (..),+) where++import Control.Lens (Optic)++class ApplicationFormSignatureLike p f x x' where+  applicationFormSignature ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ApplicationFormSignatureLike p f () x' where+  applicationFormSignature = id
+ src/ReOC/Name/Arn.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @arn@, whose target is a type parameter. It names a field or constructor of @Person'@, @Company'@.+module ReOC.Name.Arn (+  ArnLike (..),+) where++import Control.Lens (Optic)++class ArnLike p f x x' a a' | x -> a where+  arn ::+    Optic p f x x' a a'
+ src/ReOC/Name/AssociatedEquipment.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @associatedEquipment@, whose target is a type parameter. It names a field or constructor of @Aircraft'@.+module ReOC.Name.AssociatedEquipment (+  AssociatedEquipmentLike (..),+) where++import Control.Lens (Optic)++class AssociatedEquipmentLike p f x x' a a' | x -> a where+  associatedEquipment ::+    Optic p f x x' a a'
+ src/ReOC/Name/AtRegisteredOffice.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @atRegisteredOffice@, which targets @()@. It names a field or constructor of @OperationalHeadquarters'@.+module ReOC.Name.AtRegisteredOffice (+  AtRegisteredOfficeLike (..),+) where++import Control.Lens (Optic)++class AtRegisteredOfficeLike p f x x' where+  atRegisteredOffice ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AtRegisteredOfficeLike p f () x' where+  atRegisteredOffice = id
+ src/ReOC/Name/AustralianCapitalTerritory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @australianCapitalTerritory@, which targets @()@. It names a field or constructor of @AustralianState@.+module ReOC.Name.AustralianCapitalTerritory (+  AustralianCapitalTerritoryLike (..),+) where++import Control.Lens (Optic)++class AustralianCapitalTerritoryLike p f x x' where+  australianCapitalTerritory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AustralianCapitalTerritoryLike p f () x' where+  australianCapitalTerritory = id
+ src/ReOC/Name/AuthorisationAction.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @authorisationAction@, whose target is a type parameter. It names a field or constructor of @RegulatoryAction'@.+module ReOC.Name.AuthorisationAction (+  AuthorisationActionLike (..),+) where++import Control.Lens (Optic)++class AuthorisationActionLike p f x x' a a' | x -> a where+  authorisationAction ::+    Optic p f x x' a a'
+ src/ReOC/Name/AutomatedAndManual.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @automatedAndManual@, which targets @()@. It names a field or constructor of @Complexity@.+module ReOC.Name.AutomatedAndManual (+  AutomatedAndManualLike (..),+) where++import Control.Lens (Optic)++class AutomatedAndManualLike p f x x' where+  automatedAndManual ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AutomatedAndManualLike p f () x' where+  automatedAndManual = id
+ src/ReOC/Name/AutomatedOnly.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @automatedOnly@, which targets @()@. It names a field or constructor of @Complexity@.+module ReOC.Name.AutomatedOnly (+  AutomatedOnlyLike (..),+) where++import Control.Lens (Optic)++class AutomatedOnlyLike p f x x' where+  automatedOnly ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => AutomatedOnlyLike p f () x' where+  automatedOnly = id
+ src/ReOC/Name/AviationExperience.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @aviationExperience@, whose target is a type parameter. It names a field or constructor of @Nominee'@.+module ReOC.Name.AviationExperience (+  AviationExperienceLike (..),+) where++import Control.Lens (Optic)++class AviationExperienceLike p f x x' a a' | x -> a where+  aviationExperience ::+    Optic p f x x' a a'
+ src/ReOC/Name/BackupFrequency.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @backupFrequency@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.BackupFrequency (+  BackupFrequencyLike (..),+) where++import Control.Lens (Optic)++class BackupFrequencyLike p f x x' a a' | x -> a where+  backupFrequency ::+    Optic p f x x' a a'
+ src/ReOC/Name/BatteryReserve.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @batteryReserve@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.BatteryReserve (+  BatteryReserveLike (..),+) where++import Control.Lens (Optic)++class BatteryReserveLike p f x x' a a' | x -> a where+  batteryReserve ::+    Optic p f x x' a a'
+ src/ReOC/Name/BatteryWarnings.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @batteryWarnings@, whose target is a type parameter. It names a field or constructor of @RPAType'@.+module ReOC.Name.BatteryWarnings (+  BatteryWarningsLike (..),+) where++import Control.Lens (Optic)++class BatteryWarningsLike p f x x' a a' | x -> a where+  batteryWarnings ::+    Optic p f x x' a a'
+ src/ReOC/Name/BeforeFlight.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @beforeFlight@, whose target is a type parameter. It names a field or constructor of @RPAType'@.+module ReOC.Name.BeforeFlight (+  BeforeFlightLike (..),+) where++import Control.Lens (Optic)++class BeforeFlightLike p f x x' a a' | x -> a where+  beforeFlight ::+    Optic p f x x' a a'
+ src/ReOC/Name/BlendedTheory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @blendedTheory@, which targets @()@. It names a field or constructor of @TheoryDelivery@.+module ReOC.Name.BlendedTheory (+  BlendedTheoryLike (..),+) where++import Control.Lens (Optic)++class BlendedTheoryLike p f x x' where+  blendedTheory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => BlendedTheoryLike p f () x' where+  blendedTheory = id
+ src/ReOC/Name/BusinessName.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @businessName@, whose target is a type parameter. It names a field or constructor of @Company'@.+module ReOC.Name.BusinessName (+  BusinessNameLike (..),+) where++import Control.Lens (Optic)++class BusinessNameLike p f x x' a a' | x -> a where+  businessName ::+    Optic p f x x' a a'
+ src/ReOC/Name/Catastrophic.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @catastrophic@, which targets @()@. It names a field or constructor of @Consequence@.+module ReOC.Name.Catastrophic (+  CatastrophicLike (..),+) where++import Control.Lens (Optic)++class CatastrophicLike p f x x' where+  catastrophic ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CatastrophicLike p f () x' where+  catastrophic = id
+ src/ReOC/Name/Category.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @category@, whose target is a type parameter. It names a field or constructor of @RPAType'@.+module ReOC.Name.Category (+  CategoryLike (..),+) where++import Control.Lens (Optic)++class CategoryLike p f x x' a a' | x -> a where+  category ::+    Optic p f x x' a a'
+ src/ReOC/Name/CheckingMonths.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @checkingMonths@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.CheckingMonths (+  CheckingMonthsLike (..),+) where++import Control.Lens (Optic)++class CheckingMonthsLike p f x x' a a' | x -> a where+  checkingMonths ::+    Optic p f x x' a a'
+ src/ReOC/Name/ChiefExecutive.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefExecutive@, whose target is a type parameter. It names a field or constructor of @KeyPersonnel'@.+module ReOC.Name.ChiefExecutive (+  ChiefExecutiveLike (..),+) where++import Control.Lens (Optic)++class ChiefExecutiveLike p f x x' a a' | x -> a where+  chiefExecutive ::+    Optic p f x x' a a'
+ src/ReOC/Name/ChiefExecutiveDirectorStatus.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefExecutiveDirectorStatus@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ChiefExecutiveDirectorStatus (+  ChiefExecutiveDirectorStatusLike (..),+) where++import Control.Lens (Optic)++class ChiefExecutiveDirectorStatusLike p f x x' where+  chiefExecutiveDirectorStatus ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefExecutiveDirectorStatusLike p f () x' where+  chiefExecutiveDirectorStatus = id
+ src/ReOC/Name/ChiefExecutiveManagementExperience.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefExecutiveManagementExperience@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ChiefExecutiveManagementExperience (+  ChiefExecutiveManagementExperienceLike (..),+) where++import Control.Lens (Optic)++class ChiefExecutiveManagementExperienceLike p f x x' where+  chiefExecutiveManagementExperience ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefExecutiveManagementExperienceLike p f () x' where+  chiefExecutiveManagementExperience = id
+ src/ReOC/Name/ChiefExecutiveNominee.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefExecutiveNominee@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ChiefExecutiveNominee (+  ChiefExecutiveNomineeLike (..),+) where++import Control.Lens (Optic)++class ChiefExecutiveNomineeLike p f x x' where+  chiefExecutiveNominee ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefExecutiveNomineeLike p f () x' where+  chiefExecutiveNominee = id
+ src/ReOC/Name/ChiefExecutiveOfficer.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefExecutiveOfficer@, which targets @()@. It names a field or constructor of @KeyPosition@.+module ReOC.Name.ChiefExecutiveOfficer (+  ChiefExecutiveOfficerLike (..),+) where++import Control.Lens (Optic)++class ChiefExecutiveOfficerLike p f x x' where+  chiefExecutiveOfficer ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefExecutiveOfficerLike p f () x' where+  chiefExecutiveOfficer = id
+ src/ReOC/Name/ChiefPilot.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefPilot@, whose target is a type parameter. It names a field or constructor of @KeyPersonnel'@.+module ReOC.Name.ChiefPilot (+  ChiefPilotLike (..),+) where++import Control.Lens (Optic)++class ChiefPilotLike p f x x' a a' | x -> a where+  chiefPilot ::+    Optic p f x x' a a'
+ src/ReOC/Name/ChiefPilotCrpNominee.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefPilotCrpNominee@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ChiefPilotCrpNominee (+  ChiefPilotCrpNomineeLike (..),+) where++import Control.Lens (Optic)++class ChiefPilotCrpNomineeLike p f x x' where+  chiefPilotCrpNominee ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefPilotCrpNomineeLike p f () x' where+  chiefPilotCrpNominee = id
+ src/ReOC/Name/ChiefPilotOtherReOCRoles.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefPilotOtherReOCRoles@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ChiefPilotOtherReOCRoles (+  ChiefPilotOtherReOCRolesLike (..),+) where++import Control.Lens (Optic)++class ChiefPilotOtherReOCRolesLike p f x x' where+  chiefPilotOtherReOCRoles ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefPilotOtherReOCRolesLike p f () x' where+  chiefPilotOtherReOCRoles = id
+ src/ReOC/Name/ChiefPilotRadio.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefPilotRadio@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ChiefPilotRadio (+  ChiefPilotRadioLike (..),+) where++import Control.Lens (Optic)++class ChiefPilotRadioLike p f x x' where+  chiefPilotRadio ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefPilotRadioLike p f () x' where+  chiefPilotRadio = id
+ src/ReOC/Name/ChiefPilotRePLOrigin.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefPilotRePLOrigin@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ChiefPilotRePLOrigin (+  ChiefPilotRePLOriginLike (..),+) where++import Control.Lens (Optic)++class ChiefPilotRePLOriginLike p f x x' where+  chiefPilotRePLOrigin ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefPilotRePLOriginLike p f () x' where+  chiefPilotRePLOrigin = id
+ src/ReOC/Name/ChiefPilotRpaHistory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefPilotRpaHistory@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ChiefPilotRpaHistory (+  ChiefPilotRpaHistoryLike (..),+) where++import Control.Lens (Optic)++class ChiefPilotRpaHistoryLike p f x x' where+  chiefPilotRpaHistory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefPilotRpaHistoryLike p f () x' where+  chiefPilotRpaHistory = id
+ src/ReOC/Name/ChiefRemotePilot.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @chiefRemotePilot@, which targets @()@. It names a field or constructor of @KeyPosition@.+module ReOC.Name.ChiefRemotePilot (+  ChiefRemotePilotLike (..),+) where++import Control.Lens (Optic)++class ChiefRemotePilotLike p f x x' where+  chiefRemotePilot ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ChiefRemotePilotLike p f () x' where+  chiefRemotePilot = id
+ src/ReOC/Name/ClassroomTheory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @classroomTheory@, which targets @()@. It names a field or constructor of @TheoryDelivery@.+module ReOC.Name.ClassroomTheory (+  ClassroomTheoryLike (..),+) where++import Control.Lens (Optic)++class ClassroomTheoryLike p f x x' where+  classroomTheory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ClassroomTheoryLike p f () x' where+  classroomTheory = id
+ src/ReOC/Name/Company.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @company@, whose target is a type parameter. It names a field or constructor of @Operator'@.+module ReOC.Name.Company (+  CompanyLike (..),+) where++import Control.Lens (Optic)++class CompanyLike p f x x' a a' | x -> a where+  company ::+    Optic p f x x' a a'
+ src/ReOC/Name/CompanyAbn.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @companyAbn@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CompanyAbn (+  CompanyAbnLike (..),+) where++import Control.Lens (Optic)++class CompanyAbnLike p f x x' where+  companyAbn ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CompanyAbnLike p f () x' where+  companyAbn = id
+ src/ReOC/Name/CompanyArn.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @companyArn@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CompanyArn (+  CompanyArnLike (..),+) where++import Control.Lens (Optic)++class CompanyArnLike p f x x' where+  companyArn ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CompanyArnLike p f () x' where+  companyArn = id
+ src/ReOC/Name/CompanyBusinessName.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @companyBusinessName@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CompanyBusinessName (+  CompanyBusinessNameLike (..),+) where++import Control.Lens (Optic)++class CompanyBusinessNameLike p f x x' where+  companyBusinessName ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CompanyBusinessNameLike p f () x' where+  companyBusinessName = id
+ src/ReOC/Name/CompanyCompanyName.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @companyCompanyName@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CompanyCompanyName (+  CompanyCompanyNameLike (..),+) where++import Control.Lens (Optic)++class CompanyCompanyNameLike p f x x' where+  companyCompanyName ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CompanyCompanyNameLike p f () x' where+  companyCompanyName = id
+ src/ReOC/Name/CompanyEmailAddress.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @companyEmailAddress@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CompanyEmailAddress (+  CompanyEmailAddressLike (..),+) where++import Control.Lens (Optic)++class CompanyEmailAddressLike p f x x' where+  companyEmailAddress ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CompanyEmailAddressLike p f () x' where+  companyEmailAddress = id
+ src/ReOC/Name/CompanyName.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @companyName@, whose target is a type parameter. It names a field or constructor of @Company'@.+module ReOC.Name.CompanyName (+  CompanyNameLike (..),+) where++import Control.Lens (Optic)++class CompanyNameLike p f x x' a a' | x -> a where+  companyName ::+    Optic p f x x' a a'
+ src/ReOC/Name/CompanyOperationalHeadquarters.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @companyOperationalHeadquarters@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CompanyOperationalHeadquarters (+  CompanyOperationalHeadquartersLike (..),+) where++import Control.Lens (Optic)++class CompanyOperationalHeadquartersLike p f x x' where+  companyOperationalHeadquarters ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CompanyOperationalHeadquartersLike p f () x' where+  companyOperationalHeadquarters = id
+ src/ReOC/Name/CompanyPhoneNumber.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @companyPhoneNumber@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CompanyPhoneNumber (+  CompanyPhoneNumberLike (..),+) where++import Control.Lens (Optic)++class CompanyPhoneNumberLike p f x x' where+  companyPhoneNumber ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CompanyPhoneNumberLike p f () x' where+  companyPhoneNumber = id
+ src/ReOC/Name/CompanyRegisteredOffice.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @companyRegisteredOffice@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CompanyRegisteredOffice (+  CompanyRegisteredOfficeLike (..),+) where++import Control.Lens (Optic)++class CompanyRegisteredOfficeLike p f x x' where+  companyRegisteredOffice ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CompanyRegisteredOfficeLike p f () x' where+  companyRegisteredOffice = id
+ src/ReOC/Name/Complexities.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @complexities@, whose target is a type parameter. It names a field or constructor of @TrainingCourse'@.+module ReOC.Name.Complexities (+  ComplexitiesLike (..),+) where++import Control.Lens (Optic)++class ComplexitiesLike p f x x' a a' | x -> a where+  complexities ::+    Optic p f x x' a a'
+ src/ReOC/Name/ComputerExamination.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @computerExamination@, which targets @()@. It names a field or constructor of @ExamDelivery@.+module ReOC.Name.ComputerExamination (+  ComputerExaminationLike (..),+) where++import Control.Lens (Optic)++class ComputerExaminationLike p f x x' where+  computerExamination ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ComputerExaminationLike p f () x' where+  computerExamination = id
+ src/ReOC/Name/ContactPersonEmailAddress.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @contactPersonEmailAddress@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ContactPersonEmailAddress (+  ContactPersonEmailAddressLike (..),+) where++import Control.Lens (Optic)++class ContactPersonEmailAddressLike p f x x' where+  contactPersonEmailAddress ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ContactPersonEmailAddressLike p f () x' where+  contactPersonEmailAddress = id
+ src/ReOC/Name/ContactPersonFullName.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @contactPersonFullName@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ContactPersonFullName (+  ContactPersonFullNameLike (..),+) where++import Control.Lens (Optic)++class ContactPersonFullNameLike p f x x' where+  contactPersonFullName ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ContactPersonFullNameLike p f () x' where+  contactPersonFullName = id
+ src/ReOC/Name/ContactPersonPhoneNumber.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @contactPersonPhoneNumber@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ContactPersonPhoneNumber (+  ContactPersonPhoneNumberLike (..),+) where++import Control.Lens (Optic)++class ContactPersonPhoneNumberLike p f x x' where+  contactPersonPhoneNumber ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ContactPersonPhoneNumberLike p f () x' where+  contactPersonPhoneNumber = id
+ src/ReOC/Name/ContactPersonPosition.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @contactPersonPosition@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ContactPersonPosition (+  ContactPersonPositionLike (..),+) where++import Control.Lens (Optic)++class ContactPersonPositionLike p f x x' where+  contactPersonPosition ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ContactPersonPositionLike p f () x' where+  contactPersonPosition = id
+ src/ReOC/Name/CourseKind.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @courseKind@, whose target is a type parameter. It names a field or constructor of @TrainingCourse'@.+module ReOC.Name.CourseKind (+  CourseKindLike (..),+) where++import Control.Lens (Optic)++class CourseKindLike p f x x' a a' | x -> a where+  courseKind ::+    Optic p f x x' a a'
+ src/ReOC/Name/Crew.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @crew@, whose target is a type parameter. It names a field or constructor of @OperationsManual'@.+module ReOC.Name.Crew (+  CrewLike (..),+) where++import Control.Lens (Optic)++class CrewLike p f x x' a a' | x -> a where+  crew ::+    Optic p f x x' a a'
+ src/ReOC/Name/CriConductsFlightTests.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criConductsFlightTests@, which targets @()@. It names a field or constructor of @FlightTestExaminer@.+module ReOC.Name.CriConductsFlightTests (+  CriConductsFlightTestsLike (..),+) where++import Control.Lens (Optic)++class CriConductsFlightTestsLike p f x x' where+  criConductsFlightTests ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CriConductsFlightTestsLike p f () x' where+  criConductsFlightTests = id
+ src/ReOC/Name/CriIsCEO.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criIsCEO@, which targets @()@. It names a field or constructor of @CRINominee'@.+module ReOC.Name.CriIsCEO (+  CriIsCEOLike (..),+) where++import Control.Lens (Optic)++class CriIsCEOLike p f x x' where+  criIsCEO ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CriIsCEOLike p f () x' where+  criIsCEO = id
+ src/ReOC/Name/CriIsCRP.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criIsCRP@, which targets @()@. It names a field or constructor of @CRINominee'@.+module ReOC.Name.CriIsCRP (+  CriIsCRPLike (..),+) where++import Control.Lens (Optic)++class CriIsCRPLike p f x x' where+  criIsCRP ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CriIsCRPLike p f () x' where+  criIsCRP = id
+ src/ReOC/Name/CriIsMC.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criIsMC@, which targets @()@. It names a field or constructor of @CRINominee'@.+module ReOC.Name.CriIsMC (+  CriIsMCLike (..),+) where++import Control.Lens (Optic)++class CriIsMCLike p f x x' where+  criIsMC ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CriIsMCLike p f () x' where+  criIsMC = id
+ src/ReOC/Name/CriNominated.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criNominated@, whose target is a type parameter. It names a field or constructor of @CRINominee'@.+module ReOC.Name.CriNominated (+  CriNominatedLike (..),+) where++import Control.Lens (Optic)++class CriNominatedLike p f x x' a a' | x -> a where+  criNominated ::+    Optic p f x x' a a'
+ src/ReOC/Name/CriNominee.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criNominee@, whose target is a type parameter. It names a field or constructor of @TrainingMaterial'@.+module ReOC.Name.CriNominee (+  CriNomineeLike (..),+) where++import Control.Lens (Optic)++class CriNomineeLike p f x x' a a' | x -> a where+  criNominee ::+    Optic p f x x' a a'
+ src/ReOC/Name/CriNomineeCriIsCEO.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criNomineeCriIsCEO@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CriNomineeCriIsCEO (+  CriNomineeCriIsCEOLike (..),+) where++import Control.Lens (Optic)++class CriNomineeCriIsCEOLike p f x x' where+  criNomineeCriIsCEO ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CriNomineeCriIsCEOLike p f () x' where+  criNomineeCriIsCEO = id
+ src/ReOC/Name/CriNomineeCriIsCRP.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criNomineeCriIsCRP@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CriNomineeCriIsCRP (+  CriNomineeCriIsCRPLike (..),+) where++import Control.Lens (Optic)++class CriNomineeCriIsCRPLike p f x x' where+  criNomineeCriIsCRP ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CriNomineeCriIsCRPLike p f () x' where+  criNomineeCriIsCRP = id
+ src/ReOC/Name/CriNomineeCriIsMC.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criNomineeCriIsMC@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CriNomineeCriIsMC (+  CriNomineeCriIsMCLike (..),+) where++import Control.Lens (Optic)++class CriNomineeCriIsMCLike p f x x' where+  criNomineeCriIsMC ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CriNomineeCriIsMCLike p f () x' where+  criNomineeCriIsMC = id
+ src/ReOC/Name/CriNomineeCriNominated.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criNomineeCriNominated@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CriNomineeCriNominated (+  CriNomineeCriNominatedLike (..),+) where++import Control.Lens (Optic)++class CriNomineeCriNominatedLike p f x x' where+  criNomineeCriNominated ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CriNomineeCriNominatedLike p f () x' where+  criNomineeCriNominated = id
+ src/ReOC/Name/CriOtherReOCRoles.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criOtherReOCRoles@, whose target is a type parameter. It names a field or constructor of @TrainingMaterial'@.+module ReOC.Name.CriOtherReOCRoles (+  CriOtherReOCRolesLike (..),+) where++import Control.Lens (Optic)++class CriOtherReOCRolesLike p f x x' a a' | x -> a where+  criOtherReOCRoles ::+    Optic p f x x' a a'
+ src/ReOC/Name/CriminalConviction.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @criminalConviction@, whose target is a type parameter. It names a field or constructor of @PersonnelHistory'@.+module ReOC.Name.CriminalConviction (+  CriminalConvictionLike (..),+) where++import Control.Lens (Optic)++class CriminalConvictionLike p f x x' a a' | x -> a where+  criminalConviction ::+    Optic p f x x' a a'
+ src/ReOC/Name/CrpIsCEO.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @crpIsCEO@, which targets @()@. It names a field or constructor of @CRPNominee'@.+module ReOC.Name.CrpIsCEO (+  CrpIsCEOLike (..),+) where++import Control.Lens (Optic)++class CrpIsCEOLike p f x x' where+  crpIsCEO ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CrpIsCEOLike p f () x' where+  crpIsCEO = id
+ src/ReOC/Name/CrpIsOnlyRemotePilot.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @crpIsOnlyRemotePilot@, which targets @()@. It names a field or constructor of @RemotePilots@.+module ReOC.Name.CrpIsOnlyRemotePilot (+  CrpIsOnlyRemotePilotLike (..),+) where++import Control.Lens (Optic)++class CrpIsOnlyRemotePilotLike p f x x' where+  crpIsOnlyRemotePilot ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CrpIsOnlyRemotePilotLike p f () x' where+  crpIsOnlyRemotePilot = id
+ src/ReOC/Name/CrpNominated.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @crpNominated@, whose target is a type parameter. It names a field or constructor of @CRPNominee'@.+module ReOC.Name.CrpNominated (+  CrpNominatedLike (..),+) where++import Control.Lens (Optic)++class CrpNominatedLike p f x x' a a' | x -> a where+  crpNominated ::+    Optic p f x x' a a'
+ src/ReOC/Name/CrpNominee.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @crpNominee@, whose target is a type parameter. It names a field or constructor of @ChiefPilot'@.+module ReOC.Name.CrpNominee (+  CrpNomineeLike (..),+) where++import Control.Lens (Optic)++class CrpNomineeLike p f x x' a a' | x -> a where+  crpNominee ::+    Optic p f x x' a a'
+ src/ReOC/Name/CrpNomineeCrpIsCEO.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @crpNomineeCrpIsCEO@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CrpNomineeCrpIsCEO (+  CrpNomineeCrpIsCEOLike (..),+) where++import Control.Lens (Optic)++class CrpNomineeCrpIsCEOLike p f x x' where+  crpNomineeCrpIsCEO ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CrpNomineeCrpIsCEOLike p f () x' where+  crpNomineeCrpIsCEO = id
+ src/ReOC/Name/CrpNomineeCrpNominated.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @crpNomineeCrpNominated@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.CrpNomineeCrpNominated (+  CrpNomineeCrpNominatedLike (..),+) where++import Control.Lens (Optic)++class CrpNomineeCrpNominatedLike p f x x' where+  crpNomineeCrpNominated ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => CrpNomineeCrpNominatedLike p f () x' where+  crpNomineeCrpNominated = id
+ src/ReOC/Name/Daily.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @daily@, which targets @()@. It names a field or constructor of @BackupInterval@.+module ReOC.Name.Daily (+  DailyLike (..),+) where++import Control.Lens (Optic)++class DailyLike p f x x' where+  daily ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DailyLike p f () x' where+  daily = id
+ src/ReOC/Name/DateEntered.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @dateEntered@, whose target is a type parameter. It names a field or constructor of @Risk'@.+module ReOC.Name.DateEntered (+  DateEnteredLike (..),+) where++import Control.Lens (Optic)++class DateEnteredLike p f x x' a a' | x -> a where+  dateEntered ::+    Optic p f x x' a a'
+ src/ReOC/Name/DeclarantFullName.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declarantFullName@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.DeclarantFullName (+  DeclarantFullNameLike (..),+) where++import Control.Lens (Optic)++class DeclarantFullNameLike p f x x' where+  declarantFullName ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DeclarantFullNameLike p f () x' where+  declarantFullName = id
+ src/ReOC/Name/DeclarantRole.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declarantRole@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.DeclarantRole (+  DeclarantRoleLike (..),+) where++import Control.Lens (Optic)++class DeclarantRoleLike p f x x' where+  declarantRole ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DeclarantRoleLike p f () x' where+  declarantRole = id
+ src/ReOC/Name/Declaration.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declaration@, whose target is a type parameter. It names a field or constructor of @ApplicationForm'@.+module ReOC.Name.Declaration (+  DeclarationLike (..),+) where++import Control.Lens (Optic)++class DeclarationLike p f x x' a a' | x -> a where+  declaration ::+    Optic p f x x' a a'
+ src/ReOC/Name/DeclarationDeclaredByAgent.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declarationDeclaredByAgent@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.DeclarationDeclaredByAgent (+  DeclarationDeclaredByAgentLike (..),+) where++import Control.Lens (Optic)++class DeclarationDeclaredByAgentLike p f x x' where+  declarationDeclaredByAgent ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DeclarationDeclaredByAgentLike p f () x' where+  declarationDeclaredByAgent = id
+ src/ReOC/Name/DeclarationDeclaredByCEO.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declarationDeclaredByCEO@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.DeclarationDeclaredByCEO (+  DeclarationDeclaredByCEOLike (..),+) where++import Control.Lens (Optic)++class DeclarationDeclaredByCEOLike p f x x' where+  declarationDeclaredByCEO ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DeclarationDeclaredByCEOLike p f () x' where+  declarationDeclaredByCEO = id
+ src/ReOC/Name/DeclarationDeclaredByOther.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declarationDeclaredByOther@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.DeclarationDeclaredByOther (+  DeclarationDeclaredByOtherLike (..),+) where++import Control.Lens (Optic)++class DeclarationDeclaredByOtherLike p f x x' where+  declarationDeclaredByOther ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DeclarationDeclaredByOtherLike p f () x' where+  declarationDeclaredByOther = id
+ src/ReOC/Name/DeclarationDeclaredByResponsibleManager.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declarationDeclaredByResponsibleManager@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.DeclarationDeclaredByResponsibleManager (+  DeclarationDeclaredByResponsibleManagerLike (..),+) where++import Control.Lens (Optic)++class DeclarationDeclaredByResponsibleManagerLike p f x x' where+  declarationDeclaredByResponsibleManager ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DeclarationDeclaredByResponsibleManagerLike p f () x' where+  declarationDeclaredByResponsibleManager = id
+ src/ReOC/Name/DeclaredByAgent.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declaredByAgent@, whose target is a type parameter. It names a field or constructor of @Declaration'@.+module ReOC.Name.DeclaredByAgent (+  DeclaredByAgentLike (..),+) where++import Control.Lens (Optic)++class DeclaredByAgentLike p f x x' a a' | x -> a where+  declaredByAgent ::+    Optic p f x x' a a'
+ src/ReOC/Name/DeclaredByCEO.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declaredByCEO@, which targets @()@. It names a field or constructor of @Declaration'@.+module ReOC.Name.DeclaredByCEO (+  DeclaredByCEOLike (..),+) where++import Control.Lens (Optic)++class DeclaredByCEOLike p f x x' where+  declaredByCEO ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DeclaredByCEOLike p f () x' where+  declaredByCEO = id
+ src/ReOC/Name/DeclaredByOther.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declaredByOther@, whose target is a type parameter. It names a field or constructor of @Declaration'@.+module ReOC.Name.DeclaredByOther (+  DeclaredByOtherLike (..),+) where++import Control.Lens (Optic)++class DeclaredByOtherLike p f x x' a a' | x -> a where+  declaredByOther ::+    Optic p f x x' a a'
+ src/ReOC/Name/DeclaredByResponsibleManager.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @declaredByResponsibleManager@, whose target is a type parameter. It names a field or constructor of @Declaration'@.+module ReOC.Name.DeclaredByResponsibleManager (+  DeclaredByResponsibleManagerLike (..),+) where++import Control.Lens (Optic)++class DeclaredByResponsibleManagerLike p f x x' a a' | x -> a where+  declaredByResponsibleManager ::+    Optic p f x x' a a'
+ src/ReOC/Name/Details.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @details@, whose target is a type parameter. It names a field or constructor of @FirstIssue'@, @Revision'@.+module ReOC.Name.Details (+  DetailsLike (..),+) where++import Control.Lens (Optic)++class DetailsLike p f x x' a a' | x -> a where+  details ::+    Optic p f x x' a a'
+ src/ReOC/Name/Director.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @director@, which targets @()@. It names a field or constructor of @Directorship@.+module ReOC.Name.Director (+  DirectorLike (..),+) where++import Control.Lens (Optic)++class DirectorLike p f x x' where+  director ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DirectorLike p f () x' where+  director = id
+ src/ReOC/Name/DirectorStatus.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @directorStatus@, whose target is a type parameter. It names a field or constructor of @ChiefExecutive'@.+module ReOC.Name.DirectorStatus (+  DirectorStatusLike (..),+) where++import Control.Lens (Optic)++class DirectorStatusLike p f x x' a a' | x -> a where+  directorStatus ::+    Optic p f x x' a a'
+ src/ReOC/Name/DualControllerLink.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @dualControllerLink@, which targets @()@. It names a field or constructor of @InstructorTakeover@.+module ReOC.Name.DualControllerLink (+  DualControllerLinkLike (..),+) where++import Control.Lens (Optic)++class DualControllerLinkLike p f x x' where+  dualControllerLink ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => DualControllerLinkLike p f () x' where+  dualControllerLink = id
+ src/ReOC/Name/DutyHours.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @dutyHours@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.DutyHours (+  DutyHoursLike (..),+) where++import Control.Lens (Optic)++class DutyHoursLike p f x x' a a' | x -> a where+  dutyHours ::+    Optic p f x x' a a'
+ src/ReOC/Name/Effective.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @effective@, whose target is a type parameter. It names a field or constructor of @FirstIssue'@, @Revision'@.+module ReOC.Name.Effective (+  EffectiveLike (..),+) where++import Control.Lens (Optic)++class EffectiveLike p f x x' a a' | x -> a where+  effective ::+    Optic p f x x' a a'
+ src/ReOC/Name/EmailAddress.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @emailAddress@, whose target is a type parameter. It names a field or constructor of @Person'@, @Company'@, @ContactPerson'@.+module ReOC.Name.EmailAddress (+  EmailAddressLike (..),+) where++import Control.Lens (Optic)++class EmailAddressLike p f x x' a a' | x -> a where+  emailAddress ::+    Optic p f x x' a a'
+ src/ReOC/Name/EmergencyActionActionSteps.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @emergencyActionActionSteps@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.EmergencyActionActionSteps (+  EmergencyActionActionStepsLike (..),+) where++import Control.Lens (Optic)++class EmergencyActionActionStepsLike p f x x' where+  emergencyActionActionSteps ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => EmergencyActionActionStepsLike p f () x' where+  emergencyActionActionSteps = id
+ src/ReOC/Name/EmergencyActionResponse.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @emergencyActionResponse@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.EmergencyActionResponse (+  EmergencyActionResponseLike (..),+) where++import Control.Lens (Optic)++class EmergencyActionResponseLike p f x x' where+  emergencyActionResponse ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => EmergencyActionResponseLike p f () x' where+  emergencyActionResponse = id
+ src/ReOC/Name/EmergencyActionSituation.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @emergencyActionSituation@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.EmergencyActionSituation (+  EmergencyActionSituationLike (..),+) where++import Control.Lens (Optic)++class EmergencyActionSituationLike p f x x' where+  emergencyActionSituation ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => EmergencyActionSituationLike p f () x' where+  emergencyActionSituation = id
+ src/ReOC/Name/EmergencyActions.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @emergencyActions@, whose target is a type parameter. It names a field or constructor of @RPAType'@.+module ReOC.Name.EmergencyActions (+  EmergencyActionsLike (..),+) where++import Control.Lens (Optic)++class EmergencyActionsLike p f x x' a a' | x -> a where+  emergencyActions ::+    Optic p f x x' a a'
+ src/ReOC/Name/EquipmentDescription.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @equipmentDescription@, whose target is a type parameter. It names a field or constructor of @Equipment'@.+module ReOC.Name.EquipmentDescription (+  EquipmentDescriptionLike (..),+) where++import Control.Lens (Optic)++class EquipmentDescriptionLike p f x x' a a' | x -> a where+  equipmentDescription ::+    Optic p f x x' a a'
+ src/ReOC/Name/EquipmentEquipmentDescription.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @equipmentEquipmentDescription@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.EquipmentEquipmentDescription (+  EquipmentEquipmentDescriptionLike (..),+) where++import Control.Lens (Optic)++class EquipmentEquipmentDescriptionLike p f x x' where+  equipmentEquipmentDescription ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => EquipmentEquipmentDescriptionLike p f () x' where+  equipmentEquipmentDescription = id
+ src/ReOC/Name/EquipmentSerialNumber.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @equipmentSerialNumber@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.EquipmentSerialNumber (+  EquipmentSerialNumberLike (..),+) where++import Control.Lens (Optic)++class EquipmentSerialNumberLike p f x x' where+  equipmentSerialNumber ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => EquipmentSerialNumberLike p f () x' where+  equipmentSerialNumber = id
+ src/ReOC/Name/Exam.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @exam@, whose target is a type parameter. It names a field or constructor of @TrainingArrangements'@.+module ReOC.Name.Exam (+  ExamLike (..),+) where++import Control.Lens (Optic)++class ExamLike p f x x' a a' | x -> a where+  exam ::+    Optic p f x x' a a'
+ src/ReOC/Name/ExamPassMark.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @examPassMark@, whose target is a type parameter. It names a field or constructor of @TrainingArrangements'@.+module ReOC.Name.ExamPassMark (+  ExamPassMarkLike (..),+) where++import Control.Lens (Optic)++class ExamPassMarkLike p f x x' a a' | x -> a where+  examPassMark ::+    Optic p f x x' a a'
+ src/ReOC/Name/Examiner.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @examiner@, whose target is a type parameter. It names a field or constructor of @TrainingArrangements'@.+module ReOC.Name.Examiner (+  ExaminerLike (..),+) where++import Control.Lens (Optic)++class ExaminerLike p f x x' a a' | x -> a where+  examiner ::+    Optic p f x x' a a'
+ src/ReOC/Name/ExistingControls.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @existingControls@, whose target is a type parameter. It names a field or constructor of @Risk'@.+module ReOC.Name.ExistingControls (+  ExistingControlsLike (..),+) where++import Control.Lens (Optic)++class ExistingControlsLike p f x x' a a' | x -> a where+  existingControls ::+    Optic p f x x' a a'
+ src/ReOC/Name/ExtremelyImprobable.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @extremelyImprobable@, which targets @()@. It names a field or constructor of @Likelihood@.+module ReOC.Name.ExtremelyImprobable (+  ExtremelyImprobableLike (..),+) where++import Control.Lens (Optic)++class ExtremelyImprobableLike p f x x' where+  extremelyImprobable ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ExtremelyImprobableLike p f () x' where+  extremelyImprobable = id
+ src/ReOC/Name/FirstIssue.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @firstIssue@, whose target is a type parameter. It names a field or constructor of @OperationsManual'@.+module ReOC.Name.FirstIssue (+  FirstIssueLike (..),+) where++import Control.Lens (Optic)++class FirstIssueLike p f x x' a a' | x -> a where+  firstIssue ::+    Optic p f x x' a a'
+ src/ReOC/Name/FirstIssueDetails.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @firstIssueDetails@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.FirstIssueDetails (+  FirstIssueDetailsLike (..),+) where++import Control.Lens (Optic)++class FirstIssueDetailsLike p f x x' where+  firstIssueDetails ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => FirstIssueDetailsLike p f () x' where+  firstIssueDetails = id
+ src/ReOC/Name/FirstIssueEffective.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @firstIssueEffective@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.FirstIssueEffective (+  FirstIssueEffectiveLike (..),+) where++import Control.Lens (Optic)++class FirstIssueEffectiveLike p f x x' where+  firstIssueEffective ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => FirstIssueEffectiveLike p f () x' where+  firstIssueEffective = id
+ src/ReOC/Name/FirstIssueIssueDate.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @firstIssueIssueDate@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.FirstIssueIssueDate (+  FirstIssueIssueDateLike (..),+) where++import Control.Lens (Optic)++class FirstIssueIssueDateLike p f x x' where+  firstIssueIssueDate ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => FirstIssueIssueDateLike p f () x' where+  firstIssueIssueDate = id
+ src/ReOC/Name/FirstIssueParts.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @firstIssueParts@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.FirstIssueParts (+  FirstIssuePartsLike (..),+) where++import Control.Lens (Optic)++class FirstIssuePartsLike p f x x' where+  firstIssueParts ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => FirstIssuePartsLike p f () x' where+  firstIssueParts = id
+ src/ReOC/Name/FirstIssueVersion.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @firstIssueVersion@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.FirstIssueVersion (+  FirstIssueVersionLike (..),+) where++import Control.Lens (Optic)++class FirstIssueVersionLike p f x x' where+  firstIssueVersion ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => FirstIssueVersionLike p f () x' where+  firstIssueVersion = id
+ src/ReOC/Name/Fleet.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @fleet@, whose target is a type parameter. It names a field or constructor of @Operator'@.+module ReOC.Name.Fleet (+  FleetLike (..),+) where++import Control.Lens (Optic)++class FleetLike p f x x' a a' | x -> a where+  fleet ::+    Optic p f x x' a a'
+ src/ReOC/Name/FlightCrewLicence.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @flightCrewLicence@, which targets @()@. It names a field or constructor of @RadioQualification@.+module ReOC.Name.FlightCrewLicence (+  FlightCrewLicenceLike (..),+) where++import Control.Lens (Optic)++class FlightCrewLicenceLike p f x x' where+  flightCrewLicence ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => FlightCrewLicenceLike p f () x' where+  flightCrewLicence = id
+ src/ReOC/Name/FlightTermination.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @flightTermination@, whose target is a type parameter. It names a field or constructor of @RPAType'@.+module ReOC.Name.FlightTermination (+  FlightTerminationLike (..),+) where++import Control.Lens (Optic)++class FlightTerminationLike p f x x' a a' | x -> a where+  flightTermination ::+    Optic p f x x' a a'
+ src/ReOC/Name/FlightTerminationFlightTerminationSystem.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @flightTerminationFlightTerminationSystem@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.FlightTerminationFlightTerminationSystem (+  FlightTerminationFlightTerminationSystemLike (..),+) where++import Control.Lens (Optic)++class FlightTerminationFlightTerminationSystemLike p f x x' where+  flightTerminationFlightTerminationSystem ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => FlightTerminationFlightTerminationSystemLike p f () x' where+  flightTerminationFlightTerminationSystem = id
+ src/ReOC/Name/FlightTerminationNoFlightTerminationSystem.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @flightTerminationNoFlightTerminationSystem@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.FlightTerminationNoFlightTerminationSystem (+  FlightTerminationNoFlightTerminationSystemLike (..),+) where++import Control.Lens (Optic)++class FlightTerminationNoFlightTerminationSystemLike p f x x' where+  flightTerminationNoFlightTerminationSystem ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => FlightTerminationNoFlightTerminationSystemLike p f () x' where+  flightTerminationNoFlightTerminationSystem = id
+ src/ReOC/Name/FlightTerminationSystem.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @flightTerminationSystem@, whose target is a type parameter. It names a field or constructor of @FlightTermination'@.+module ReOC.Name.FlightTerminationSystem (+  FlightTerminationSystemLike (..),+) where++import Control.Lens (Optic)++class FlightTerminationSystemLike p f x x' a a' | x -> a where+  flightTerminationSystem ::+    Optic p f x x' a a'
+ src/ReOC/Name/Frequent.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @frequent@, which targets @()@. It names a field or constructor of @Likelihood@.+module ReOC.Name.Frequent (+  FrequentLike (..),+) where++import Control.Lens (Optic)++class FrequentLike p f x x' where+  frequent ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => FrequentLike p f () x' where+  frequent = id
+ src/ReOC/Name/FullName.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @fullName@, whose target is a type parameter. It names a field or constructor of @Person'@, @ContactPerson'@, @Declarant'@.+module ReOC.Name.FullName (+  FullNameLike (..),+) where++import Control.Lens (Optic)++class FullNameLike p f x x' a a' | x -> a where+  fullName ::+    Optic p f x x' a a'
+ src/ReOC/Name/GivenElements.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @givenElements@, which targets @Natural@. It names a field or constructor of @TooMany@.+module ReOC.Name.GivenElements (+  GivenElementsLike (..),+) where++import Control.Lens (Optic)+import Numeric.Natural (Natural)++class GivenElementsLike p f x x' where+  givenElements ::+    Optic p f x x' Natural Natural++-- | Identity+instance (x' ~ Natural) => GivenElementsLike p f Natural x' where+  givenElements = id
+ src/ReOC/Name/HasOperationalExperience.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @hasOperationalExperience@, which targets @()@. It names a field or constructor of @OperationalExperience'@.+module ReOC.Name.HasOperationalExperience (+  HasOperationalExperienceLike (..),+) where++import Control.Lens (Optic)++class HasOperationalExperienceLike p f x x' where+  hasOperationalExperience ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => HasOperationalExperienceLike p f () x' where+  hasOperationalExperience = id
+ src/ReOC/Name/Hazard.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @hazard@, whose target is a type parameter. It names a field or constructor of @Risk'@.+module ReOC.Name.Hazard (+  HazardLike (..),+) where++import Control.Lens (Optic)++class HazardLike p f x x' a a' | x -> a where+  hazard ::+    Optic p f x x' a a'
+ src/ReOC/Name/Hazardous.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @hazardous@, which targets @()@. It names a field or constructor of @Consequence@.+module ReOC.Name.Hazardous (+  HazardousLike (..),+) where++import Control.Lens (Optic)++class HazardousLike p f x x' where+  hazardous ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => HazardousLike p f () x' where+  hazardous = id
+ src/ReOC/Name/Helicopter.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @helicopter@, which targets @()@. It names a field or constructor of @RPACategory@.+module ReOC.Name.Helicopter (+  HelicopterLike (..),+) where++import Control.Lens (Optic)++class HelicopterLike p f x x' where+  helicopter ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => HelicopterLike p f () x' where+  helicopter = id
+ src/ReOC/Name/High.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @high@, which targets @()@. It names a field or constructor of @RiskLevel@.+module ReOC.Name.High (+  HighLike (..),+) where++import Control.Lens (Optic)++class HighLike p f x x' where+  high ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => HighLike p f () x' where+  high = id
+ src/ReOC/Name/HistoryAnswerHistoryDisclosed.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @historyAnswerHistoryDisclosed@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.HistoryAnswerHistoryDisclosed (+  HistoryAnswerHistoryDisclosedLike (..),+) where++import Control.Lens (Optic)++class HistoryAnswerHistoryDisclosedLike p f x x' where+  historyAnswerHistoryDisclosed ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => HistoryAnswerHistoryDisclosedLike p f () x' where+  historyAnswerHistoryDisclosed = id
+ src/ReOC/Name/HistoryAnswerNoHistory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @historyAnswerNoHistory@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.HistoryAnswerNoHistory (+  HistoryAnswerNoHistoryLike (..),+) where++import Control.Lens (Optic)++class HistoryAnswerNoHistoryLike p f x x' where+  historyAnswerNoHistory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => HistoryAnswerNoHistoryLike p f () x' where+  historyAnswerNoHistory = id
+ src/ReOC/Name/HistoryDisclosed.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @historyDisclosed@, whose target is a type parameter. It names a field or constructor of @HistoryAnswer'@.+module ReOC.Name.HistoryDisclosed (+  HistoryDisclosedLike (..),+) where++import Control.Lens (Optic)++class HistoryDisclosedLike p f x x' a a' | x -> a where+  historyDisclosed ::+    Optic p f x x' a a'
+ src/ReOC/Name/HoldsRePLForEachType.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @holdsRePLForEachType@, which targets @()@. It names a field or constructor of @RePLHolding'@.+module ReOC.Name.HoldsRePLForEachType (+  HoldsRePLForEachTypeLike (..),+) where++import Control.Lens (Optic)++class HoldsRePLForEachTypeLike p f x x' where+  holdsRePLForEachType ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => HoldsRePLForEachTypeLike p f () x' where+  holdsRePLForEachType = id
+ src/ReOC/Name/Improbable.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @improbable@, which targets @()@. It names a field or constructor of @Likelihood@.+module ReOC.Name.Improbable (+  ImprobableLike (..),+) where++import Control.Lens (Optic)++class ImprobableLike p f x x' where+  improbable ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ImprobableLike p f () x' where+  improbable = id
+ src/ReOC/Name/IndependentExaminerWhereAvailable.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @independentExaminerWhereAvailable@, which targets @()@. It names a field or constructor of @FlightTestExaminer@.+module ReOC.Name.IndependentExaminerWhereAvailable (+  IndependentExaminerWhereAvailableLike (..),+) where++import Control.Lens (Optic)++class IndependentExaminerWhereAvailableLike p f x x' where+  independentExaminerWhereAvailable ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => IndependentExaminerWhereAvailableLike p f () x' where+  independentExaminerWhereAvailable = id
+ src/ReOC/Name/IndependentReviewYears.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @independentReviewYears@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.IndependentReviewYears (+  IndependentReviewYearsLike (..),+) where++import Control.Lens (Optic)++class IndependentReviewYearsLike p f x x' a a' | x -> a where+  independentReviewYears ::+    Optic p f x x' a a'
+ src/ReOC/Name/InitialCourse.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @initialCourse@, which targets @()@. It names a field or constructor of @CourseType@.+module ReOC.Name.InitialCourse (+  InitialCourseLike (..),+) where++import Control.Lens (Optic)++class InitialCourseLike p f x x' where+  initialCourse ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => InitialCourseLike p f () x' where+  initialCourse = id
+ src/ReOC/Name/InitialRisk.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @initialRisk@, whose target is a type parameter. It names a field or constructor of @Risk'@.+module ReOC.Name.InitialRisk (+  InitialRiskLike (..),+) where++import Control.Lens (Optic)++class InitialRiskLike p f x x' a a' | x -> a where+  initialRisk ::+    Optic p f x x' a a'
+ src/ReOC/Name/InspectionHours.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @inspectionHours@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.InspectionHours (+  InspectionHoursLike (..),+) where++import Control.Lens (Optic)++class InspectionHoursLike p f x x' a a' | x -> a where+  inspectionHours ::+    Optic p f x x' a a'
+ src/ReOC/Name/InspectionItems.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @inspectionItems@, whose target is a type parameter. It names a field or constructor of @RPAType'@.+module ReOC.Name.InspectionItems (+  InspectionItemsLike (..),+) where++import Control.Lens (Optic)++class InspectionItemsLike p f x x' a a' | x -> a where+  inspectionItems ::+    Optic p f x x' a a'
+ src/ReOC/Name/InspectionMonths.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @inspectionMonths@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.InspectionMonths (+  InspectionMonthsLike (..),+) where++import Control.Lens (Optic)++class InspectionMonthsLike p f x x' a a' | x -> a where+  inspectionMonths ::+    Optic p f x x' a a'
+ src/ReOC/Name/InvalidABN.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidABN@, which targets @Text@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidABN (+  InvalidABNLike (..),+) where++import Control.Lens (Optic)+import Data.Text (Text)++class InvalidABNLike p f x x' where+  invalidABN ::+    Optic p f x x' Text Text++-- | Identity+instance (x' ~ Text) => InvalidABNLike p f Text x' where+  invalidABN = id
+ src/ReOC/Name/InvalidARN.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidARN@, which targets @Text@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidARN (+  InvalidARNLike (..),+) where++import Control.Lens (Optic)+import Data.Text (Text)++class InvalidARNLike p f x x' where+  invalidARN ::+    Optic p f x x' Text Text++-- | Identity+instance (x' ~ Text) => InvalidARNLike p f Text x' where+  invalidARN = id
+ src/ReOC/Name/InvalidEmailAddress.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidEmailAddress@, which targets @Text@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidEmailAddress (+  InvalidEmailAddressLike (..),+) where++import Control.Lens (Optic)+import Data.Text (Text)++class InvalidEmailAddressLike p f x x' where+  invalidEmailAddress ::+    Optic p f x x' Text Text++-- | Identity+instance (x' ~ Text) => InvalidEmailAddressLike p f Text x' where+  invalidEmailAddress = id
+ src/ReOC/Name/InvalidFormText.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidFormText@, which targets @Text@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidFormText (+  InvalidFormTextLike (..),+) where++import Control.Lens (Optic)+import Data.Text (Text)++class InvalidFormTextLike p f x x' where+  invalidFormText ::+    Optic p f x x' Text Text++-- | Identity+instance (x' ~ Text) => InvalidFormTextLike p f Text x' where+  invalidFormText = id
+ src/ReOC/Name/InvalidGrossWeight.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidGrossWeight@, which targets @Natural@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidGrossWeight (+  InvalidGrossWeightLike (..),+) where++import Control.Lens (Optic)+import Numeric.Natural (Natural)++class InvalidGrossWeightLike p f x x' where+  invalidGrossWeight ::+    Optic p f x x' Natural Natural++-- | Identity+instance (x' ~ Natural) => InvalidGrossWeightLike p f Natural x' where+  invalidGrossWeight = id
+ src/ReOC/Name/InvalidPassMark.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidPassMark@, which targets @Natural@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidPassMark (+  InvalidPassMarkLike (..),+) where++import Control.Lens (Optic)+import Numeric.Natural (Natural)++class InvalidPassMarkLike p f x x' where+  invalidPassMark ::+    Optic p f x x' Natural Natural++-- | Identity+instance (x' ~ Natural) => InvalidPassMarkLike p f Natural x' where+  invalidPassMark = id
+ src/ReOC/Name/InvalidPercentage.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidPercentage@, which targets @Natural@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidPercentage (+  InvalidPercentageLike (..),+) where++import Control.Lens (Optic)+import Numeric.Natural (Natural)++class InvalidPercentageLike p f x x' where+  invalidPercentage ::+    Optic p f x x' Natural Natural++-- | Identity+instance (x' ~ Natural) => InvalidPercentageLike p f Natural x' where+  invalidPercentage = id
+ src/ReOC/Name/InvalidPhoneNumber.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidPhoneNumber@, which targets @Text@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidPhoneNumber (+  InvalidPhoneNumberLike (..),+) where++import Control.Lens (Optic)+import Data.Text (Text)++class InvalidPhoneNumberLike p f x x' where+  invalidPhoneNumber ::+    Optic p f x x' Text Text++-- | Identity+instance (x' ~ Text) => InvalidPhoneNumberLike p f Text x' where+  invalidPhoneNumber = id
+ src/ReOC/Name/InvalidPositive.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidPositive@, which targets @Natural@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidPositive (+  InvalidPositiveLike (..),+) where++import Control.Lens (Optic)+import Numeric.Natural (Natural)++class InvalidPositiveLike p f x x' where+  invalidPositive ::+    Optic p f x x' Natural Natural++-- | Identity+instance (x' ~ Natural) => InvalidPositiveLike p f Natural x' where+  invalidPositive = id
+ src/ReOC/Name/InvalidPostcode.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidPostcode@, which targets @Text@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidPostcode (+  InvalidPostcodeLike (..),+) where++import Control.Lens (Optic)+import Data.Text (Text)++class InvalidPostcodeLike p f x x' where+  invalidPostcode ::+    Optic p f x x' Text Text++-- | Identity+instance (x' ~ Text) => InvalidPostcodeLike p f Text x' where+  invalidPostcode = id
+ src/ReOC/Name/InvalidReviewMonths.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidReviewMonths@, which targets @Natural@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidReviewMonths (+  InvalidReviewMonthsLike (..),+) where++import Control.Lens (Optic)+import Numeric.Natural (Natural)++class InvalidReviewMonthsLike p f x x' where+  invalidReviewMonths ::+    Optic p f x x' Natural Natural++-- | Identity+instance (x' ~ Natural) => InvalidReviewMonthsLike p f Natural x' where+  invalidReviewMonths = id
+ src/ReOC/Name/InvalidText1.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @invalidText1@, which targets @Text@. It names a field or constructor of @InvalidValue@.+module ReOC.Name.InvalidText1 (+  InvalidText1Like (..),+) where++import Control.Lens (Optic)+import Data.Text (Text)++class InvalidText1Like p f x x' where+  invalidText1 ::+    Optic p f x x' Text Text++-- | Identity+instance (x' ~ Text) => InvalidText1Like p f Text x' where+  invalidText1 = id
+ src/ReOC/Name/IssueDate.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @issueDate@, whose target is a type parameter. It names a field or constructor of @FirstIssue'@.+module ReOC.Name.IssueDate (+  IssueDateLike (..),+) where++import Control.Lens (Optic)++class IssueDateLike p f x x' a a' | x -> a where+  issueDate ::+    Optic p f x x' a a'
+ src/ReOC/Name/KeyPersonnel.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @keyPersonnel@, whose target is a type parameter. It names a field or constructor of @Operator'@.+module ReOC.Name.KeyPersonnel (+  KeyPersonnelLike (..),+) where++import Control.Lens (Optic)++class KeyPersonnelLike p f x x' a a' | x -> a where+  keyPersonnel ::+    Optic p f x x' a a'
+ src/ReOC/Name/KeyPersonnelChiefExecutive.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @keyPersonnelChiefExecutive@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.KeyPersonnelChiefExecutive (+  KeyPersonnelChiefExecutiveLike (..),+) where++import Control.Lens (Optic)++class KeyPersonnelChiefExecutiveLike p f x x' where+  keyPersonnelChiefExecutive ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => KeyPersonnelChiefExecutiveLike p f () x' where+  keyPersonnelChiefExecutive = id
+ src/ReOC/Name/KeyPersonnelChiefPilot.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @keyPersonnelChiefPilot@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.KeyPersonnelChiefPilot (+  KeyPersonnelChiefPilotLike (..),+) where++import Control.Lens (Optic)++class KeyPersonnelChiefPilotLike p f x x' where+  keyPersonnelChiefPilot ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => KeyPersonnelChiefPilotLike p f () x' where+  keyPersonnelChiefPilot = id
+ src/ReOC/Name/KeyPersonnelMcNominee.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @keyPersonnelMcNominee@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.KeyPersonnelMcNominee (+  KeyPersonnelMcNomineeLike (..),+) where++import Control.Lens (Optic)++class KeyPersonnelMcNomineeLike p f x x' where+  keyPersonnelMcNominee ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => KeyPersonnelMcNomineeLike p f () x' where+  keyPersonnelMcNominee = id
+ src/ReOC/Name/Low.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @low@, which targets @()@. It names a field or constructor of @RiskLevel@.+module ReOC.Name.Low (+  LowLike (..),+) where++import Control.Lens (Optic)++class LowLike p f x x' where+  low ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => LowLike p f () x' where+  low = id
+ src/ReOC/Name/MaintenanceController.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @maintenanceController@, which targets @()@. It names a field or constructor of @KeyPosition@.+module ReOC.Name.MaintenanceController (+  MaintenanceControllerLike (..),+) where++import Control.Lens (Optic)++class MaintenanceControllerLike p f x x' where+  maintenanceController ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => MaintenanceControllerLike p f () x' where+  maintenanceController = id
+ src/ReOC/Name/MajorRevision.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @majorRevision@, which targets @()@. It names a field or constructor of @VersionChange@.+module ReOC.Name.MajorRevision (+  MajorRevisionLike (..),+) where++import Control.Lens (Optic)++class MajorRevisionLike p f x x' where+  majorRevision ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => MajorRevisionLike p f () x' where+  majorRevision = id
+ src/ReOC/Name/MajorVersion.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @majorVersion@, whose target is a type parameter. It names a field or constructor of @Version'@.+module ReOC.Name.MajorVersion (+  MajorVersionLike (..),+) where++import Control.Lens (Optic)++class MajorVersionLike p f x x' a a' | x -> a where+  majorVersion ::+    Optic p f x x' a a'
+ src/ReOC/Name/ManagementExperience.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @managementExperience@, whose target is a type parameter. It names a field or constructor of @ChiefExecutive'@.+module ReOC.Name.ManagementExperience (+  ManagementExperienceLike (..),+) where++import Control.Lens (Optic)++class ManagementExperienceLike p f x x' a a' | x -> a where+  managementExperience ::+    Optic p f x x' a a'
+ src/ReOC/Name/MaxStudentsPerCourse.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @maxStudentsPerCourse@, whose target is a type parameter. It names a field or constructor of @TrainingArrangements'@.+module ReOC.Name.MaxStudentsPerCourse (+  MaxStudentsPerCourseLike (..),+) where++import Control.Lens (Optic)++class MaxStudentsPerCourseLike p f x x' a a' | x -> a where+  maxStudentsPerCourse ::+    Optic p f x x' a a'
+ src/ReOC/Name/MaxStudentsPerInstructor.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @maxStudentsPerInstructor@, whose target is a type parameter. It names a field or constructor of @TrainingArrangements'@.+module ReOC.Name.MaxStudentsPerInstructor (+  MaxStudentsPerInstructorLike (..),+) where++import Control.Lens (Optic)++class MaxStudentsPerInstructorLike p f x x' a a' | x -> a where+  maxStudentsPerInstructor ::+    Optic p f x x' a a'
+ src/ReOC/Name/MaximumGrossWeight.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @maximumGrossWeight@, whose target is a type parameter. It names a field or constructor of @RPAType'@.+module ReOC.Name.MaximumGrossWeight (+  MaximumGrossWeightLike (..),+) where++import Control.Lens (Optic)++class MaximumGrossWeightLike p f x x' a a' | x -> a where+  maximumGrossWeight ::+    Optic p f x x' a a'
+ src/ReOC/Name/MaybeTrainingMaterial.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @maybeTrainingMaterial@, whose target is a type parameter. It names a field or constructor of @ReOC'@.+module ReOC.Name.MaybeTrainingMaterial (+  MaybeTrainingMaterialLike (..),+) where++import Control.Lens (Optic)++class MaybeTrainingMaterialLike p f x x' a a' | x -> a where+  maybeTrainingMaterial ::+    Optic p f x x' a a'
+ src/ReOC/Name/McIsCEO.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @mcIsCEO@, which targets @()@. It names a field or constructor of @MCNominee'@.+module ReOC.Name.McIsCEO (+  McIsCEOLike (..),+) where++import Control.Lens (Optic)++class McIsCEOLike p f x x' where+  mcIsCEO ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => McIsCEOLike p f () x' where+  mcIsCEO = id
+ src/ReOC/Name/McIsCRP.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @mcIsCRP@, which targets @()@. It names a field or constructor of @MCNominee'@.+module ReOC.Name.McIsCRP (+  McIsCRPLike (..),+) where++import Control.Lens (Optic)++class McIsCRPLike p f x x' where+  mcIsCRP ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => McIsCRPLike p f () x' where+  mcIsCRP = id
+ src/ReOC/Name/McNominated.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @mcNominated@, whose target is a type parameter. It names a field or constructor of @MCNominee'@.+module ReOC.Name.McNominated (+  McNominatedLike (..),+) where++import Control.Lens (Optic)++class McNominatedLike p f x x' a a' | x -> a where+  mcNominated ::+    Optic p f x x' a a'
+ src/ReOC/Name/McNominee.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @mcNominee@, whose target is a type parameter. It names a field or constructor of @KeyPersonnel'@.+module ReOC.Name.McNominee (+  McNomineeLike (..),+) where++import Control.Lens (Optic)++class McNomineeLike p f x x' a a' | x -> a where+  mcNominee ::+    Optic p f x x' a a'
+ src/ReOC/Name/McNomineeMcIsCEO.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @mcNomineeMcIsCEO@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.McNomineeMcIsCEO (+  McNomineeMcIsCEOLike (..),+) where++import Control.Lens (Optic)++class McNomineeMcIsCEOLike p f x x' where+  mcNomineeMcIsCEO ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => McNomineeMcIsCEOLike p f () x' where+  mcNomineeMcIsCEO = id
+ src/ReOC/Name/McNomineeMcIsCRP.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @mcNomineeMcIsCRP@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.McNomineeMcIsCRP (+  McNomineeMcIsCRPLike (..),+) where++import Control.Lens (Optic)++class McNomineeMcIsCRPLike p f x x' where+  mcNomineeMcIsCRP ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => McNomineeMcIsCRPLike p f () x' where+  mcNomineeMcIsCRP = id
+ src/ReOC/Name/McNomineeMcNominated.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @mcNomineeMcNominated@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.McNomineeMcNominated (+  McNomineeMcNominatedLike (..),+) where++import Control.Lens (Optic)++class McNomineeMcNominatedLike p f x x' where+  mcNomineeMcNominated ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => McNomineeMcNominatedLike p f () x' where+  mcNomineeMcNominated = id
+ src/ReOC/Name/Medium.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @medium@, which targets @()@. It names a field or constructor of @RiskLevel@.+module ReOC.Name.Medium (+  MediumLike (..),+) where++import Control.Lens (Optic)++class MediumLike p f x x' where+  medium ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => MediumLike p f () x' where+  medium = id
+ src/ReOC/Name/Minor.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @minor@, which targets @()@. It names a field or constructor of @Consequence@.+module ReOC.Name.Minor (+  MinorLike (..),+) where++import Control.Lens (Optic)++class MinorLike p f x x' where+  minor ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => MinorLike p f () x' where+  minor = id
+ src/ReOC/Name/MinorRevision.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @minorRevision@, which targets @()@. It names a field or constructor of @VersionChange@.+module ReOC.Name.MinorRevision (+  MinorRevisionLike (..),+) where++import Control.Lens (Optic)++class MinorRevisionLike p f x x' where+  minorRevision ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => MinorRevisionLike p f () x' where+  minorRevision = id
+ src/ReOC/Name/MinorVersion.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @minorVersion@, whose target is a type parameter. It names a field or constructor of @Version'@.+module ReOC.Name.MinorVersion (+  MinorVersionLike (..),+) where++import Control.Lens (Optic)++class MinorVersionLike p f x x' a a' | x -> a where+  minorVersion ::+    Optic p f x x' a a'
+ src/ReOC/Name/Moderate.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @moderate@, which targets @()@. It names a field or constructor of @Consequence@.+module ReOC.Name.Moderate (+  ModerateLike (..),+) where++import Control.Lens (Optic)++class ModerateLike p f x x' where+  moderate ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ModerateLike p f () x' where+  moderate = id
+ src/ReOC/Name/Monthly.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @monthly@, which targets @()@. It names a field or constructor of @BackupInterval@.+module ReOC.Name.Monthly (+  MonthlyLike (..),+) where++import Control.Lens (Optic)++class MonthlyLike p f x x' where+  monthly ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => MonthlyLike p f () x' where+  monthly = id
+ src/ReOC/Name/MonthsAfter.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @monthsAfter@, whose target is a type parameter. It names a field or constructor of @Revision'@.+module ReOC.Name.MonthsAfter (+  MonthsAfterLike (..),+) where++import Control.Lens (Optic)++class MonthsAfterLike p f x x' a a' | x -> a where+  monthsAfter ::+    Optic p f x x' a a'
+ src/ReOC/Name/MostElements.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @mostElements@, which targets @Natural@. It names a field or constructor of @TooMany@.+module ReOC.Name.MostElements (+  MostElementsLike (..),+) where++import Control.Lens (Optic)+import Numeric.Natural (Natural)++class MostElementsLike p f x x' where+  mostElements ::+    Optic p f x x' Natural Natural++-- | Identity+instance (x' ~ Natural) => MostElementsLike p f Natural x' where+  mostElements = id
+ src/ReOC/Name/Multirotor.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @multirotor@, which targets @()@. It names a field or constructor of @RPACategory@.+module ReOC.Name.Multirotor (+  MultirotorLike (..),+) where++import Control.Lens (Optic)++class MultirotorLike p f x x' where+  multirotor ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => MultirotorLike p f () x' where+  multirotor = id
+ src/ReOC/Name/Negligible.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @negligible@, which targets @()@. It names a field or constructor of @Consequence@.+module ReOC.Name.Negligible (+  NegligibleLike (..),+) where++import Control.Lens (Optic)++class NegligibleLike p f x x' where+  negligible ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NegligibleLike p f () x' where+  negligible = id
+ src/ReOC/Name/NewSouthWales.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @newSouthWales@, which targets @()@. It names a field or constructor of @AustralianState@.+module ReOC.Name.NewSouthWales (+  NewSouthWalesLike (..),+) where++import Control.Lens (Optic)++class NewSouthWalesLike p f x x' where+  newSouthWales ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NewSouthWalesLike p f () x' where+  newSouthWales = id
+ src/ReOC/Name/NoFlightTerminationSystem.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @noFlightTerminationSystem@, which targets @()@. It names a field or constructor of @FlightTermination'@.+module ReOC.Name.NoFlightTerminationSystem (+  NoFlightTerminationSystemLike (..),+) where++import Control.Lens (Optic)++class NoFlightTerminationSystemLike p f x x' where+  noFlightTerminationSystem ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NoFlightTerminationSystemLike p f () x' where+  noFlightTerminationSystem = id
+ src/ReOC/Name/NoHistory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @noHistory@, which targets @()@. It names a field or constructor of @HistoryAnswer'@.+module ReOC.Name.NoHistory (+  NoHistoryLike (..),+) where++import Control.Lens (Optic)++class NoHistoryLike p f x x' where+  noHistory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NoHistoryLike p f () x' where+  noHistory = id
+ src/ReOC/Name/NoOtherReOCRoles.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @noOtherReOCRoles@, which targets @()@. It names a field or constructor of @OtherReOCRoles'@.+module ReOC.Name.NoOtherReOCRoles (+  NoOtherReOCRolesLike (..),+) where++import Control.Lens (Optic)++class NoOtherReOCRolesLike p f x x' where+  noOtherReOCRoles ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NoOtherReOCRolesLike p f () x' where+  noOtherReOCRoles = id
+ src/ReOC/Name/NoRadioQualification.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @noRadioQualification@, which targets @()@. It names a field or constructor of @RadioQualification@.+module ReOC.Name.NoRadioQualification (+  NoRadioQualificationLike (..),+) where++import Control.Lens (Optic)++class NoRadioQualificationLike p f x x' where+  noRadioQualification ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NoRadioQualificationLike p f () x' where+  noRadioQualification = id
+ src/ReOC/Name/NoRegulatoryAction.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @noRegulatoryAction@, which targets @()@. It names a field or constructor of @RegulatoryHistory'@.+module ReOC.Name.NoRegulatoryAction (+  NoRegulatoryActionLike (..),+) where++import Control.Lens (Optic)++class NoRegulatoryActionLike p f x x' where+  noRegulatoryAction ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NoRegulatoryActionLike p f () x' where+  noRegulatoryAction = id
+ src/ReOC/Name/NoTransponder.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @noTransponder@, which targets @()@. It names a field or constructor of @Transponder@.+module ReOC.Name.NoTransponder (+  NoTransponderLike (..),+) where++import Control.Lens (Optic)++class NoTransponderLike p f x x' where+  noTransponder ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NoTransponderLike p f () x' where+  noTransponder = id
+ src/ReOC/Name/Nominee.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @nominee@, whose target is a type parameter. It names a field or constructor of @ChiefExecutive'@.+module ReOC.Name.Nominee (+  NomineeLike (..),+) where++import Control.Lens (Optic)++class NomineeLike p f x x' a a' | x -> a where+  nominee ::+    Optic p f x x' a a'
+ src/ReOC/Name/NomineeAviationExperience.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @nomineeAviationExperience@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.NomineeAviationExperience (+  NomineeAviationExperienceLike (..),+) where++import Control.Lens (Optic)++class NomineeAviationExperienceLike p f x x' where+  nomineeAviationExperience ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NomineeAviationExperienceLike p f () x' where+  nomineeAviationExperience = id
+ src/ReOC/Name/NomineeOtherQualifications.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @nomineeOtherQualifications@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.NomineeOtherQualifications (+  NomineeOtherQualificationsLike (..),+) where++import Control.Lens (Optic)++class NomineeOtherQualificationsLike p f x x' where+  nomineeOtherQualifications ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NomineeOtherQualificationsLike p f () x' where+  nomineeOtherQualifications = id
+ src/ReOC/Name/NomineePerson.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @nomineePerson@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.NomineePerson (+  NomineePersonLike (..),+) where++import Control.Lens (Optic)++class NomineePersonLike p f x x' where+  nomineePerson ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NomineePersonLike p f () x' where+  nomineePerson = id
+ src/ReOC/Name/NorthernTerritory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @northernTerritory@, which targets @()@. It names a field or constructor of @AustralianState@.+module ReOC.Name.NorthernTerritory (+  NorthernTerritoryLike (..),+) where++import Control.Lens (Optic)++class NorthernTerritoryLike p f x x' where+  northernTerritory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NorthernTerritoryLike p f () x' where+  northernTerritory = id
+ src/ReOC/Name/NotADirector.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @notADirector@, which targets @()@. It names a field or constructor of @Directorship@.+module ReOC.Name.NotADirector (+  NotADirectorLike (..),+) where++import Control.Lens (Optic)++class NotADirectorLike p f x x' where+  notADirector ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => NotADirectorLike p f () x' where+  notADirector = id
+ src/ReOC/Name/Occasional.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @occasional@, which targets @()@. It names a field or constructor of @Likelihood@.+module ReOC.Name.Occasional (+  OccasionalLike (..),+) where++import Control.Lens (Optic)++class OccasionalLike p f x x' where+  occasional ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OccasionalLike p f () x' where+  occasional = id
+ src/ReOC/Name/OnlineTheory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @onlineTheory@, which targets @()@. It names a field or constructor of @TheoryDelivery@.+module ReOC.Name.OnlineTheory (+  OnlineTheoryLike (..),+) where++import Control.Lens (Optic)++class OnlineTheoryLike p f x x' where+  onlineTheory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OnlineTheoryLike p f () x' where+  onlineTheory = id
+ src/ReOC/Name/OperatedTypeAirframes.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operatedTypeAirframes@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperatedTypeAirframes (+  OperatedTypeAirframesLike (..),+) where++import Control.Lens (Optic)++class OperatedTypeAirframesLike p f x x' where+  operatedTypeAirframes ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperatedTypeAirframesLike p f () x' where+  operatedTypeAirframes = id
+ src/ReOC/Name/OperatedTypeRpaType.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operatedTypeRpaType@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperatedTypeRpaType (+  OperatedTypeRpaTypeLike (..),+) where++import Control.Lens (Optic)++class OperatedTypeRpaTypeLike p f x x' where+  operatedTypeRpaType ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperatedTypeRpaTypeLike p f () x' where+  operatedTypeRpaType = id
+ src/ReOC/Name/OperationalExperience.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalExperience@, whose target is a type parameter. It names a field or constructor of @TrainingMaterial'@.+module ReOC.Name.OperationalExperience (+  OperationalExperienceLike (..),+) where++import Control.Lens (Optic)++class OperationalExperienceLike p f x x' a a' | x -> a where+  operationalExperience ::+    Optic p f x x' a a'
+ src/ReOC/Name/OperationalExperienceHasOperationalExperience.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalExperienceHasOperationalExperience@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationalExperienceHasOperationalExperience (+  OperationalExperienceHasOperationalExperienceLike (..),+) where++import Control.Lens (Optic)++class OperationalExperienceHasOperationalExperienceLike p f x x' where+  operationalExperienceHasOperationalExperience ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationalExperienceHasOperationalExperienceLike p f () x' where+  operationalExperienceHasOperationalExperience = id
+ src/ReOC/Name/OperationalExperienceIntent.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalExperienceIntent@, whose target is a type parameter. It names a field or constructor of @OperationalExperience'@.+module ReOC.Name.OperationalExperienceIntent (+  OperationalExperienceIntentLike (..),+) where++import Control.Lens (Optic)++class OperationalExperienceIntentLike p f x x' a a' | x -> a where+  operationalExperienceIntent ::+    Optic p f x x' a a'
+ src/ReOC/Name/OperationalExperienceNotApplicable.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalExperienceNotApplicable@, which targets @()@. It names a field or constructor of @OperationalExperience'@.+module ReOC.Name.OperationalExperienceNotApplicable (+  OperationalExperienceNotApplicableLike (..),+) where++import Control.Lens (Optic)++class OperationalExperienceNotApplicableLike p f x x' where+  operationalExperienceNotApplicable ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationalExperienceNotApplicableLike p f () x' where+  operationalExperienceNotApplicable = id
+ src/ReOC/Name/OperationalExperienceOperationalExperienceIntent.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalExperienceOperationalExperienceIntent@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationalExperienceOperationalExperienceIntent (+  OperationalExperienceOperationalExperienceIntentLike (..),+) where++import Control.Lens (Optic)++class OperationalExperienceOperationalExperienceIntentLike p f x x' where+  operationalExperienceOperationalExperienceIntent ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationalExperienceOperationalExperienceIntentLike p f () x' where+  operationalExperienceOperationalExperienceIntent = id
+ src/ReOC/Name/OperationalExperienceOperationalExperienceNotApplicable.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalExperienceOperationalExperienceNotApplicable@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationalExperienceOperationalExperienceNotApplicable (+  OperationalExperienceOperationalExperienceNotApplicableLike (..),+) where++import Control.Lens (Optic)++class OperationalExperienceOperationalExperienceNotApplicableLike p f x x' where+  operationalExperienceOperationalExperienceNotApplicable ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationalExperienceOperationalExperienceNotApplicableLike p f () x' where+  operationalExperienceOperationalExperienceNotApplicable = id
+ src/ReOC/Name/OperationalHeadquarters.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalHeadquarters@, whose target is a type parameter. It names a field or constructor of @Company'@.+module ReOC.Name.OperationalHeadquarters (+  OperationalHeadquartersLike (..),+) where++import Control.Lens (Optic)++class OperationalHeadquartersLike p f x x' a a' | x -> a where+  operationalHeadquarters ::+    Optic p f x x' a a'
+ src/ReOC/Name/OperationalHeadquartersAddress.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalHeadquartersAddress@, whose target is a type parameter. It names a field or constructor of @OperationalHeadquarters'@.+module ReOC.Name.OperationalHeadquartersAddress (+  OperationalHeadquartersAddressLike (..),+) where++import Control.Lens (Optic)++class OperationalHeadquartersAddressLike p f x x' a a' | x -> a where+  operationalHeadquartersAddress ::+    Optic p f x x' a a'
+ src/ReOC/Name/OperationalHeadquartersAtRegisteredOffice.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalHeadquartersAtRegisteredOffice@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationalHeadquartersAtRegisteredOffice (+  OperationalHeadquartersAtRegisteredOfficeLike (..),+) where++import Control.Lens (Optic)++class OperationalHeadquartersAtRegisteredOfficeLike p f x x' where+  operationalHeadquartersAtRegisteredOffice ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationalHeadquartersAtRegisteredOfficeLike p f () x' where+  operationalHeadquartersAtRegisteredOffice = id
+ src/ReOC/Name/OperationalHeadquartersOperationalHeadquartersAddress.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationalHeadquartersOperationalHeadquartersAddress@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationalHeadquartersOperationalHeadquartersAddress (+  OperationalHeadquartersOperationalHeadquartersAddressLike (..),+) where++import Control.Lens (Optic)++class OperationalHeadquartersOperationalHeadquartersAddressLike p f x x' where+  operationalHeadquartersOperationalHeadquartersAddress ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationalHeadquartersOperationalHeadquartersAddressLike p f () x' where+  operationalHeadquartersOperationalHeadquartersAddress = id
+ src/ReOC/Name/OperationsManual.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationsManual@, whose target is a type parameter. It names a field or constructor of @ReOC'@.+module ReOC.Name.OperationsManual (+  OperationsManualLike (..),+) where++import Control.Lens (Optic)++class OperationsManualLike p f x x' a a' | x -> a where+  operationsManual ::+    Optic p f x x' a a'
+ src/ReOC/Name/OperationsManualCrew.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationsManualCrew@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationsManualCrew (+  OperationsManualCrewLike (..),+) where++import Control.Lens (Optic)++class OperationsManualCrewLike p f x x' where+  operationsManualCrew ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationsManualCrewLike p f () x' where+  operationsManualCrew = id
+ src/ReOC/Name/OperationsManualFirstIssue.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationsManualFirstIssue@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationsManualFirstIssue (+  OperationsManualFirstIssueLike (..),+) where++import Control.Lens (Optic)++class OperationsManualFirstIssueLike p f x x' where+  operationsManualFirstIssue ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationsManualFirstIssueLike p f () x' where+  operationsManualFirstIssue = id
+ src/ReOC/Name/OperationsManualPilots.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationsManualPilots@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationsManualPilots (+  OperationsManualPilotsLike (..),+) where++import Control.Lens (Optic)++class OperationsManualPilotsLike p f x x' where+  operationsManualPilots ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationsManualPilotsLike p f () x' where+  operationsManualPilots = id
+ src/ReOC/Name/OperationsManualPolicies.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationsManualPolicies@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationsManualPolicies (+  OperationsManualPoliciesLike (..),+) where++import Control.Lens (Optic)++class OperationsManualPoliciesLike p f x x' where+  operationsManualPolicies ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationsManualPoliciesLike p f () x' where+  operationsManualPolicies = id
+ src/ReOC/Name/OperationsManualRevisions.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationsManualRevisions@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationsManualRevisions (+  OperationsManualRevisionsLike (..),+) where++import Control.Lens (Optic)++class OperationsManualRevisionsLike p f x x' where+  operationsManualRevisions ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationsManualRevisionsLike p f () x' where+  operationsManualRevisions = id
+ src/ReOC/Name/OperationsManualRiskRegister.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationsManualRiskRegister@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationsManualRiskRegister (+  OperationsManualRiskRegisterLike (..),+) where++import Control.Lens (Optic)++class OperationsManualRiskRegisterLike p f x x' where+  operationsManualRiskRegister ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationsManualRiskRegisterLike p f () x' where+  operationsManualRiskRegister = id
+ src/ReOC/Name/OperationsManualServices.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operationsManualServices@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperationsManualServices (+  OperationsManualServicesLike (..),+) where++import Control.Lens (Optic)++class OperationsManualServicesLike p f x x' where+  operationsManualServices ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperationsManualServicesLike p f () x' where+  operationsManualServices = id
+ src/ReOC/Name/Operator.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operator@, whose target is a type parameter. It names a field or constructor of @ReOC'@.+module ReOC.Name.Operator (+  OperatorLike (..),+) where++import Control.Lens (Optic)++class OperatorLike p f x x' a a' | x -> a where+  operator ::+    Optic p f x x' a a'
+ src/ReOC/Name/OperatorCompany.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operatorCompany@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperatorCompany (+  OperatorCompanyLike (..),+) where++import Control.Lens (Optic)++class OperatorCompanyLike p f x x' where+  operatorCompany ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperatorCompanyLike p f () x' where+  operatorCompany = id
+ src/ReOC/Name/OperatorFleet.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operatorFleet@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperatorFleet (+  OperatorFleetLike (..),+) where++import Control.Lens (Optic)++class OperatorFleetLike p f x x' where+  operatorFleet ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperatorFleetLike p f () x' where+  operatorFleet = id
+ src/ReOC/Name/OperatorKeyPersonnel.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @operatorKeyPersonnel@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OperatorKeyPersonnel (+  OperatorKeyPersonnelLike (..),+) where++import Control.Lens (Optic)++class OperatorKeyPersonnelLike p f x x' where+  operatorKeyPersonnel ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OperatorKeyPersonnelLike p f () x' where+  operatorKeyPersonnel = id
+ src/ReOC/Name/OtherDocuments.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @otherDocuments@, whose target is a type parameter. It names a field or constructor of @ApplicationForm'@.+module ReOC.Name.OtherDocuments (+  OtherDocumentsLike (..),+) where++import Control.Lens (Optic)++class OtherDocumentsLike p f x x' a a' | x -> a where+  otherDocuments ::+    Optic p f x x' a a'
+ src/ReOC/Name/OtherQualifications.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @otherQualifications@, whose target is a type parameter. It names a field or constructor of @Nominee'@.+module ReOC.Name.OtherQualifications (+  OtherQualificationsLike (..),+) where++import Control.Lens (Optic)++class OtherQualificationsLike p f x x' a a' | x -> a where+  otherQualifications ::+    Optic p f x x' a a'
+ src/ReOC/Name/OtherReOCRoles.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @otherReOCRoles@, whose target is a type parameter. It names a field or constructor of @ChiefPilot'@.+module ReOC.Name.OtherReOCRoles (+  OtherReOCRolesLike (..),+) where++import Control.Lens (Optic)++class OtherReOCRolesLike p f x x' a a' | x -> a where+  otherReOCRoles ::+    Optic p f x x' a a'
+ src/ReOC/Name/OtherReOCRolesHeld.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @otherReOCRolesHeld@, whose target is a type parameter. It names a field or constructor of @OtherReOCRoles'@.+module ReOC.Name.OtherReOCRolesHeld (+  OtherReOCRolesHeldLike (..),+) where++import Control.Lens (Optic)++class OtherReOCRolesHeldLike p f x x' a a' | x -> a where+  otherReOCRolesHeld ::+    Optic p f x x' a a'
+ src/ReOC/Name/OtherReOCRolesNoOtherReOCRoles.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @otherReOCRolesNoOtherReOCRoles@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OtherReOCRolesNoOtherReOCRoles (+  OtherReOCRolesNoOtherReOCRolesLike (..),+) where++import Control.Lens (Optic)++class OtherReOCRolesNoOtherReOCRolesLike p f x x' where+  otherReOCRolesNoOtherReOCRoles ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OtherReOCRolesNoOtherReOCRolesLike p f () x' where+  otherReOCRolesNoOtherReOCRoles = id
+ src/ReOC/Name/OtherReOCRolesOtherReOCRolesHeld.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @otherReOCRolesOtherReOCRolesHeld@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.OtherReOCRolesOtherReOCRolesHeld (+  OtherReOCRolesOtherReOCRolesHeldLike (..),+) where++import Control.Lens (Optic)++class OtherReOCRolesOtherReOCRolesHeldLike p f x x' where+  otherReOCRolesOtherReOCRolesHeld ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OtherReOCRolesOtherReOCRolesHeldLike p f () x' where+  otherReOCRolesOtherReOCRolesHeld = id
+ src/ReOC/Name/OtherRemotePilots.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @otherRemotePilots@, which targets @()@. It names a field or constructor of @RemotePilots@.+module ReOC.Name.OtherRemotePilots (+  OtherRemotePilotsLike (..),+) where++import Control.Lens (Optic)++class OtherRemotePilotsLike p f x x' where+  otherRemotePilots ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => OtherRemotePilotsLike p f () x' where+  otherRemotePilots = id
+ src/ReOC/Name/PaperExamination.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @paperExamination@, which targets @()@. It names a field or constructor of @ExamDelivery@.+module ReOC.Name.PaperExamination (+  PaperExaminationLike (..),+) where++import Control.Lens (Optic)++class PaperExaminationLike p f x x' where+  paperExamination ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PaperExaminationLike p f () x' where+  paperExamination = id
+ src/ReOC/Name/Parts.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @parts@, whose target is a type parameter. It names a field or constructor of @FirstIssue'@, @Revision'@.+module ReOC.Name.Parts (+  PartsLike (..),+) where++import Control.Lens (Optic)++class PartsLike p f x x' a a' | x -> a where+  parts ::+    Optic p f x x' a a'
+ src/ReOC/Name/Path.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @path@, which targets @[Step]@. It names a field or constructor of @Unfilled@, @Invalid@, @TooMany@.+module ReOC.Name.Path (+  PathLike (..),+) where++import Control.Lens (Optic)+import ReOC.Data.Step (Step)++class PathLike p f x x' where+  path ::+    Optic p f x x' [Step] [Step]++-- | Identity+instance (x' ~ [Step]) => PathLike p f [Step] x' where+  path = id
+ src/ReOC/Name/Person.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @person@, whose target is a type parameter. It names a field or constructor of @Nominee'@.+module ReOC.Name.Person (+  PersonLike (..),+) where++import Control.Lens (Optic)++class PersonLike p f x x' a a' | x -> a where+  person ::+    Optic p f x x' a a'
+ src/ReOC/Name/PersonArn.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @personArn@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PersonArn (+  PersonArnLike (..),+) where++import Control.Lens (Optic)++class PersonArnLike p f x x' where+  personArn ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PersonArnLike p f () x' where+  personArn = id
+ src/ReOC/Name/PersonEmailAddress.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @personEmailAddress@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PersonEmailAddress (+  PersonEmailAddressLike (..),+) where++import Control.Lens (Optic)++class PersonEmailAddressLike p f x x' where+  personEmailAddress ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PersonEmailAddressLike p f () x' where+  personEmailAddress = id
+ src/ReOC/Name/PersonFullName.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @personFullName@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PersonFullName (+  PersonFullNameLike (..),+) where++import Control.Lens (Optic)++class PersonFullNameLike p f x x' where+  personFullName ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PersonFullNameLike p f () x' where+  personFullName = id
+ src/ReOC/Name/PersonPhoneNumber.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @personPhoneNumber@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PersonPhoneNumber (+  PersonPhoneNumberLike (..),+) where++import Control.Lens (Optic)++class PersonPhoneNumberLike p f x x' where+  personPhoneNumber ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PersonPhoneNumberLike p f () x' where+  personPhoneNumber = id
+ src/ReOC/Name/PersonnelHistory.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @personnelHistory@, whose target is a type parameter. It names a field or constructor of @ApplicationForm'@.+module ReOC.Name.PersonnelHistory (+  PersonnelHistoryLike (..),+) where++import Control.Lens (Optic)++class PersonnelHistoryLike p f x x' a a' | x -> a where+  personnelHistory ::+    Optic p f x x' a a'
+ src/ReOC/Name/PersonnelHistoryActionTaken.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @personnelHistoryActionTaken@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PersonnelHistoryActionTaken (+  PersonnelHistoryActionTakenLike (..),+) where++import Control.Lens (Optic)++class PersonnelHistoryActionTakenLike p f x x' where+  personnelHistoryActionTaken ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PersonnelHistoryActionTakenLike p f () x' where+  personnelHistoryActionTaken = id
+ src/ReOC/Name/PersonnelHistoryCriminalConviction.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @personnelHistoryCriminalConviction@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PersonnelHistoryCriminalConviction (+  PersonnelHistoryCriminalConvictionLike (..),+) where++import Control.Lens (Optic)++class PersonnelHistoryCriminalConvictionLike p f x x' where+  personnelHistoryCriminalConviction ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PersonnelHistoryCriminalConvictionLike p f () x' where+  personnelHistoryCriminalConviction = id
+ src/ReOC/Name/PersonnelHistorySuspensionPending.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @personnelHistorySuspensionPending@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PersonnelHistorySuspensionPending (+  PersonnelHistorySuspensionPendingLike (..),+) where++import Control.Lens (Optic)++class PersonnelHistorySuspensionPendingLike p f x x' where+  personnelHistorySuspensionPending ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PersonnelHistorySuspensionPendingLike p f () x' where+  personnelHistorySuspensionPending = id
+ src/ReOC/Name/PersonnelHistoryTransportLicenceRefused.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @personnelHistoryTransportLicenceRefused@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PersonnelHistoryTransportLicenceRefused (+  PersonnelHistoryTransportLicenceRefusedLike (..),+) where++import Control.Lens (Optic)++class PersonnelHistoryTransportLicenceRefusedLike p f x x' where+  personnelHistoryTransportLicenceRefused ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PersonnelHistoryTransportLicenceRefusedLike p f () x' where+  personnelHistoryTransportLicenceRefused = id
+ src/ReOC/Name/PhoneNumber.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @phoneNumber@, whose target is a type parameter. It names a field or constructor of @Person'@, @Company'@, @ContactPerson'@.+module ReOC.Name.PhoneNumber (+  PhoneNumberLike (..),+) where++import Control.Lens (Optic)++class PhoneNumberLike p f x x' a a' | x -> a where+  phoneNumber ::+    Optic p f x x' a a'
+ src/ReOC/Name/Pilots.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @pilots@, whose target is a type parameter. It names a field or constructor of @OperationsManual'@.+module ReOC.Name.Pilots (+  PilotsLike (..),+) where++import Control.Lens (Optic)++class PilotsLike p f x x' a a' | x -> a where+  pilots ::+    Optic p f x x' a a'
+ src/ReOC/Name/Policies.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policies@, whose target is a type parameter. It names a field or constructor of @OperationsManual'@.+module ReOC.Name.Policies (+  PoliciesLike (..),+) where++import Control.Lens (Optic)++class PoliciesLike p f x x' a a' | x -> a where+  policies ::+    Optic p f x x' a a'
+ src/ReOC/Name/PoliciesAlcoholHours.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesAlcoholHours@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesAlcoholHours (+  PoliciesAlcoholHoursLike (..),+) where++import Control.Lens (Optic)++class PoliciesAlcoholHoursLike p f x x' where+  policiesAlcoholHours ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesAlcoholHoursLike p f () x' where+  policiesAlcoholHours = id
+ src/ReOC/Name/PoliciesBackupFrequency.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesBackupFrequency@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesBackupFrequency (+  PoliciesBackupFrequencyLike (..),+) where++import Control.Lens (Optic)++class PoliciesBackupFrequencyLike p f x x' where+  policiesBackupFrequency ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesBackupFrequencyLike p f () x' where+  policiesBackupFrequency = id
+ src/ReOC/Name/PoliciesBatteryReserve.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesBatteryReserve@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesBatteryReserve (+  PoliciesBatteryReserveLike (..),+) where++import Control.Lens (Optic)++class PoliciesBatteryReserveLike p f x x' where+  policiesBatteryReserve ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesBatteryReserveLike p f () x' where+  policiesBatteryReserve = id
+ src/ReOC/Name/PoliciesCheckingMonths.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesCheckingMonths@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesCheckingMonths (+  PoliciesCheckingMonthsLike (..),+) where++import Control.Lens (Optic)++class PoliciesCheckingMonthsLike p f x x' where+  policiesCheckingMonths ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesCheckingMonthsLike p f () x' where+  policiesCheckingMonths = id
+ src/ReOC/Name/PoliciesDutyHours.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesDutyHours@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesDutyHours (+  PoliciesDutyHoursLike (..),+) where++import Control.Lens (Optic)++class PoliciesDutyHoursLike p f x x' where+  policiesDutyHours ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesDutyHoursLike p f () x' where+  policiesDutyHours = id
+ src/ReOC/Name/PoliciesIndependentReviewYears.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesIndependentReviewYears@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesIndependentReviewYears (+  PoliciesIndependentReviewYearsLike (..),+) where++import Control.Lens (Optic)++class PoliciesIndependentReviewYearsLike p f x x' where+  policiesIndependentReviewYears ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesIndependentReviewYearsLike p f () x' where+  policiesIndependentReviewYears = id
+ src/ReOC/Name/PoliciesInspectionHours.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesInspectionHours@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesInspectionHours (+  PoliciesInspectionHoursLike (..),+) where++import Control.Lens (Optic)++class PoliciesInspectionHoursLike p f x x' where+  policiesInspectionHours ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesInspectionHoursLike p f () x' where+  policiesInspectionHours = id
+ src/ReOC/Name/PoliciesInspectionMonths.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesInspectionMonths@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesInspectionMonths (+  PoliciesInspectionMonthsLike (..),+) where++import Control.Lens (Optic)++class PoliciesInspectionMonthsLike p f x x' where+  policiesInspectionMonths ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesInspectionMonthsLike p f () x' where+  policiesInspectionMonths = id
+ src/ReOC/Name/PoliciesRecencyDays.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesRecencyDays@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesRecencyDays (+  PoliciesRecencyDaysLike (..),+) where++import Control.Lens (Optic)++class PoliciesRecencyDaysLike p f x x' where+  policiesRecencyDays ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesRecencyDaysLike p f () x' where+  policiesRecencyDays = id
+ src/ReOC/Name/PoliciesRecencyFlights.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesRecencyFlights@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesRecencyFlights (+  PoliciesRecencyFlightsLike (..),+) where++import Control.Lens (Optic)++class PoliciesRecencyFlightsLike p f x x' where+  policiesRecencyFlights ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesRecencyFlightsLike p f () x' where+  policiesRecencyFlights = id
+ src/ReOC/Name/PoliciesRefresherMonths.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesRefresherMonths@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesRefresherMonths (+  PoliciesRefresherMonthsLike (..),+) where++import Control.Lens (Optic)++class PoliciesRefresherMonthsLike p f x x' where+  policiesRefresherMonths ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesRefresherMonthsLike p f () x' where+  policiesRefresherMonths = id
+ src/ReOC/Name/PoliciesRestHours.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @policiesRestHours@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PoliciesRestHours (+  PoliciesRestHoursLike (..),+) where++import Control.Lens (Optic)++class PoliciesRestHoursLike p f x x' where+  policiesRestHours ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoliciesRestHoursLike p f () x' where+  policiesRestHours = id
+ src/ReOC/Name/Position.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @position@, whose target is a type parameter. It names a field or constructor of @ContactPerson'@.+module ReOC.Name.Position (+  PositionLike (..),+) where++import Control.Lens (Optic)++class PositionLike p f x x' a a' | x -> a where+  position ::+    Optic p f x x' a a'
+ src/ReOC/Name/Postcode.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @postcode@, whose target is a type parameter. It names a field or constructor of @Address'@.+module ReOC.Name.Postcode (+  PostcodeLike (..),+) where++import Control.Lens (Optic)++class PostcodeLike p f x x' a a' | x -> a where+  postcode ::+    Optic p f x x' a a'
+ src/ReOC/Name/PoweredLift.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @poweredLift@, which targets @()@. It names a field or constructor of @RPACategory@.+module ReOC.Name.PoweredLift (+  PoweredLiftLike (..),+) where++import Control.Lens (Optic)++class PoweredLiftLike p f x x' where+  poweredLift ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PoweredLiftLike p f () x' where+  poweredLift = id
+ src/ReOC/Name/PplTheory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @pplTheory@, which targets @()@. It names a field or constructor of @RePLOrigin'@.+module ReOC.Name.PplTheory (+  PplTheoryLike (..),+) where++import Control.Lens (Optic)++class PplTheoryLike p f x x' where+  pplTheory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PplTheoryLike p f () x' where+  pplTheory = id
+ src/ReOC/Name/PracticalAreas.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @practicalAreas@, whose target is a type parameter. It names a field or constructor of @TrainingArrangements'@.+module ReOC.Name.PracticalAreas (+  PracticalAreasLike (..),+) where++import Control.Lens (Optic)++class PracticalAreasLike p f x x' a a' | x -> a where+  practicalAreas ::+    Optic p f x x' a a'
+ src/ReOC/Name/PrimaryContact.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @primaryContact@, whose target is a type parameter. It names a field or constructor of @ApplicationForm'@.+module ReOC.Name.PrimaryContact (+  PrimaryContactLike (..),+) where++import Control.Lens (Optic)++class PrimaryContactLike p f x x' a a' | x -> a where+  primaryContact ::+    Optic p f x x' a a'
+ src/ReOC/Name/PrimaryContactApplicantIsPrimaryContact.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @primaryContactApplicantIsPrimaryContact@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PrimaryContactApplicantIsPrimaryContact (+  PrimaryContactApplicantIsPrimaryContactLike (..),+) where++import Control.Lens (Optic)++class PrimaryContactApplicantIsPrimaryContactLike p f x x' where+  primaryContactApplicantIsPrimaryContact ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PrimaryContactApplicantIsPrimaryContactLike p f () x' where+  primaryContactApplicantIsPrimaryContact = id
+ src/ReOC/Name/PrimaryContactPerson.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @primaryContactPerson@, whose target is a type parameter. It names a field or constructor of @PrimaryContact'@.+module ReOC.Name.PrimaryContactPerson (+  PrimaryContactPersonLike (..),+) where++import Control.Lens (Optic)++class PrimaryContactPersonLike p f x x' a a' | x -> a where+  primaryContactPerson ::+    Optic p f x x' a a'
+ src/ReOC/Name/PrimaryContactPrimaryContactPerson.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @primaryContactPrimaryContactPerson@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.PrimaryContactPrimaryContactPerson (+  PrimaryContactPrimaryContactPersonLike (..),+) where++import Control.Lens (Optic)++class PrimaryContactPrimaryContactPersonLike p f x x' where+  primaryContactPrimaryContactPerson ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => PrimaryContactPrimaryContactPersonLike p f () x' where+  primaryContactPrimaryContactPerson = id
+ src/ReOC/Name/ProceduresLibrary.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @proceduresLibrary@, whose target is a type parameter. It names a field or constructor of @ApplicationForm'@.+module ReOC.Name.ProceduresLibrary (+  ProceduresLibraryLike (..),+) where++import Control.Lens (Optic)++class ProceduresLibraryLike p f x x' a a' | x -> a where+  proceduresLibrary ::+    Optic p f x x' a a'
+ src/ReOC/Name/Queensland.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @queensland@, which targets @()@. It names a field or constructor of @AustralianState@.+module ReOC.Name.Queensland (+  QueenslandLike (..),+) where++import Control.Lens (Optic)++class QueenslandLike p f x x' where+  queensland ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => QueenslandLike p f () x' where+  queensland = id
+ src/ReOC/Name/Radio.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @radio@, whose target is a type parameter. It names a field or constructor of @ChiefPilot'@.+module ReOC.Name.Radio (+  RadioLike (..),+) where++import Control.Lens (Optic)++class RadioLike p f x x' a a' | x -> a where+  radio ::+    Optic p f x x' a a'
+ src/ReOC/Name/RadioOperatorCertificate.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @radioOperatorCertificate@, which targets @()@. It names a field or constructor of @RadioQualification@.+module ReOC.Name.RadioOperatorCertificate (+  RadioOperatorCertificateLike (..),+) where++import Control.Lens (Optic)++class RadioOperatorCertificateLike p f x x' where+  radioOperatorCertificate ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RadioOperatorCertificateLike p f () x' where+  radioOperatorCertificate = id
+ src/ReOC/Name/ReOCApplicationForm.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @reOCApplicationForm@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ReOCApplicationForm (+  ReOCApplicationFormLike (..),+) where++import Control.Lens (Optic)++class ReOCApplicationFormLike p f x x' where+  reOCApplicationForm ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ReOCApplicationFormLike p f () x' where+  reOCApplicationForm = id
+ src/ReOC/Name/ReOCMaybeTrainingMaterial.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @reOCMaybeTrainingMaterial@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ReOCMaybeTrainingMaterial (+  ReOCMaybeTrainingMaterialLike (..),+) where++import Control.Lens (Optic)++class ReOCMaybeTrainingMaterialLike p f x x' where+  reOCMaybeTrainingMaterial ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ReOCMaybeTrainingMaterialLike p f () x' where+  reOCMaybeTrainingMaterial = id
+ src/ReOC/Name/ReOCOperationsManual.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @reOCOperationsManual@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ReOCOperationsManual (+  ReOCOperationsManualLike (..),+) where++import Control.Lens (Optic)++class ReOCOperationsManualLike p f x x' where+  reOCOperationsManual ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ReOCOperationsManualLike p f () x' where+  reOCOperationsManual = id
+ src/ReOC/Name/ReOCOperator.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @reOCOperator@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.ReOCOperator (+  ReOCOperatorLike (..),+) where++import Control.Lens (Optic)++class ReOCOperatorLike p f x x' where+  reOCOperator ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => ReOCOperatorLike p f () x' where+  reOCOperator = id
+ src/ReOC/Name/RePLHolding.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @rePLHolding@, whose target is a type parameter. It names a field or constructor of @TrainingMaterial'@.+module ReOC.Name.RePLHolding (+  RePLHoldingLike (..),+) where++import Control.Lens (Optic)++class RePLHoldingLike p f x x' a a' | x -> a where+  rePLHolding ::+    Optic p f x x' a a'
+ src/ReOC/Name/RePLHoldingHoldsRePLForEachType.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @rePLHoldingHoldsRePLForEachType@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.RePLHoldingHoldsRePLForEachType (+  RePLHoldingHoldsRePLForEachTypeLike (..),+) where++import Control.Lens (Optic)++class RePLHoldingHoldsRePLForEachTypeLike p f x x' where+  rePLHoldingHoldsRePLForEachType ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RePLHoldingHoldsRePLForEachTypeLike p f () x' where+  rePLHoldingHoldsRePLForEachType = id
+ src/ReOC/Name/RePLHoldingIntent.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @rePLHoldingIntent@, whose target is a type parameter. It names a field or constructor of @RePLHolding'@.+module ReOC.Name.RePLHoldingIntent (+  RePLHoldingIntentLike (..),+) where++import Control.Lens (Optic)++class RePLHoldingIntentLike p f x x' a a' | x -> a where+  rePLHoldingIntent ::+    Optic p f x x' a a'
+ src/ReOC/Name/RePLHoldingRePLHoldingIntent.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @rePLHoldingRePLHoldingIntent@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.RePLHoldingRePLHoldingIntent (+  RePLHoldingRePLHoldingIntentLike (..),+) where++import Control.Lens (Optic)++class RePLHoldingRePLHoldingIntentLike p f x x' where+  rePLHoldingRePLHoldingIntent ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RePLHoldingRePLHoldingIntentLike p f () x' where+  rePLHoldingRePLHoldingIntent = id
+ src/ReOC/Name/RePLOrigin.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @rePLOrigin@, whose target is a type parameter. It names a field or constructor of @ChiefPilot'@.+module ReOC.Name.RePLOrigin (+  RePLOriginLike (..),+) where++import Control.Lens (Optic)++class RePLOriginLike p f x x' a a' | x -> a where+  rePLOrigin ::+    Optic p f x x' a a'
+ src/ReOC/Name/RePLOriginPplTheory.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @rePLOriginPplTheory@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.RePLOriginPplTheory (+  RePLOriginPplTheoryLike (..),+) where++import Control.Lens (Optic)++class RePLOriginPplTheoryLike p f x x' where+  rePLOriginPplTheory ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RePLOriginPplTheoryLike p f () x' where+  rePLOriginPplTheory = id
+ src/ReOC/Name/RePLOriginRePLTrainingOrganisation.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @rePLOriginRePLTrainingOrganisation@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.RePLOriginRePLTrainingOrganisation (+  RePLOriginRePLTrainingOrganisationLike (..),+) where++import Control.Lens (Optic)++class RePLOriginRePLTrainingOrganisationLike p f x x' where+  rePLOriginRePLTrainingOrganisation ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RePLOriginRePLTrainingOrganisationLike p f () x' where+  rePLOriginRePLTrainingOrganisation = id
+ src/ReOC/Name/RePLTrainingOrganisation.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @rePLTrainingOrganisation@, whose target is a type parameter. It names a field or constructor of @RePLOrigin'@.+module ReOC.Name.RePLTrainingOrganisation (+  RePLTrainingOrganisationLike (..),+) where++import Control.Lens (Optic)++class RePLTrainingOrganisationLike p f x x' a a' | x -> a where+  rePLTrainingOrganisation ::+    Optic p f x x' a a'
+ src/ReOC/Name/RecencyDays.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @recencyDays@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.RecencyDays (+  RecencyDaysLike (..),+) where++import Control.Lens (Optic)++class RecencyDaysLike p f x x' a a' | x -> a where+  recencyDays ::+    Optic p f x x' a a'
+ src/ReOC/Name/RecencyFlights.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @recencyFlights@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.RecencyFlights (+  RecencyFlightsLike (..),+) where++import Control.Lens (Optic)++class RecencyFlightsLike p f x x' a a' | x -> a where+  recencyFlights ::+    Optic p f x x' a a'
+ src/ReOC/Name/RefresherMonths.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @refresherMonths@, whose target is a type parameter. It names a field or constructor of @Policies'@.+module ReOC.Name.RefresherMonths (+  RefresherMonthsLike (..),+) where++import Control.Lens (Optic)++class RefresherMonthsLike p f x x' a a' | x -> a where+  refresherMonths ::+    Optic p f x x' a a'
+ src/ReOC/Name/RegisteredOffice.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @registeredOffice@, whose target is a type parameter. It names a field or constructor of @Company'@.+module ReOC.Name.RegisteredOffice (+  RegisteredOfficeLike (..),+) where++import Control.Lens (Optic)++class RegisteredOfficeLike p f x x' a a' | x -> a where+  registeredOffice ::+    Optic p f x x' a a'
+ src/ReOC/Name/RegulatoryActionActionDate.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @regulatoryActionActionDate@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.RegulatoryActionActionDate (+  RegulatoryActionActionDateLike (..),+) where++import Control.Lens (Optic)++class RegulatoryActionActionDateLike p f x x' where+  regulatoryActionActionDate ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RegulatoryActionActionDateLike p f () x' where+  regulatoryActionActionDate = id
+ src/ReOC/Name/RegulatoryActionActionDetails.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @regulatoryActionActionDetails@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.RegulatoryActionActionDetails (+  RegulatoryActionActionDetailsLike (..),+) where++import Control.Lens (Optic)++class RegulatoryActionActionDetailsLike p f x x' where+  regulatoryActionActionDetails ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RegulatoryActionActionDetailsLike p f () x' where+  regulatoryActionActionDetails = id
+ src/ReOC/Name/RegulatoryActionAuthorisationAction.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @regulatoryActionAuthorisationAction@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.RegulatoryActionAuthorisationAction (+  RegulatoryActionAuthorisationActionLike (..),+) where++import Control.Lens (Optic)++class RegulatoryActionAuthorisationActionLike p f x x' where+  regulatoryActionAuthorisationAction ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RegulatoryActionAuthorisationActionLike p f () x' where+  regulatoryActionAuthorisationAction = id
+ src/ReOC/Name/RegulatoryActionReocSuspendedOrCancelled.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @regulatoryActionReocSuspendedOrCancelled@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.RegulatoryActionReocSuspendedOrCancelled (+  RegulatoryActionReocSuspendedOrCancelledLike (..),+) where++import Control.Lens (Optic)++class RegulatoryActionReocSuspendedOrCancelledLike p f x x' where+  regulatoryActionReocSuspendedOrCancelled ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RegulatoryActionReocSuspendedOrCancelledLike p f () x' where+  regulatoryActionReocSuspendedOrCancelled = id
+ src/ReOC/Name/RegulatoryActionTaken.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @regulatoryActionTaken@, whose target is a type parameter. It names a field or constructor of @RegulatoryHistory'@.+module ReOC.Name.RegulatoryActionTaken (+  RegulatoryActionTakenLike (..),+) where++import Control.Lens (Optic)++class RegulatoryActionTakenLike p f x x' a a' | x -> a where+  regulatoryActionTaken ::+    Optic p f x x' a a'
+ src/ReOC/Name/RegulatoryActionTypeOfAction.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @regulatoryActionTypeOfAction@, which targets @()@. It names a field or constructor of @Field@.+module ReOC.Name.RegulatoryActionTypeOfAction (+  RegulatoryActionTypeOfActionLike (..),+) where++import Control.Lens (Optic)++class RegulatoryActionTypeOfActionLike p f x x' where+  regulatoryActionTypeOfAction ::+    Optic p f x x' () ()++-- | Identity+instance (x' ~ ()) => RegulatoryActionTypeOfActionLike p f () x' where+  regulatoryActionTypeOfAction = id
+ src/ReOC/Name/RegulatoryHistory.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE FunctionalDependencies #-}+{-# OPTIONS_GHC -Wall #-}++-- | The name @regulatoryHistory@, whose target is a type parameter. It names a field or constructor of @ApplicationForm'@.+module ReOC.Name.RegulatoryHistory (+  RegulatoryHistoryLike (..),+) where++import Control.Lens (Optic)++class RegulatoryHistoryLike p f x x' a a' | x -> a where+  regulatoryHistory ::+    Optic p f x x' a a'
+ src/ReOC/Name/RegulatoryHistoryNoRegulatoryAction.hs view

file too large to diff

+ src/ReOC/Name/RegulatoryHistoryRegulatoryActionTaken.hs view

file too large to diff

+ src/ReOC/Name/Remote.hs view

file too large to diff

+ src/ReOC/Name/ReocSuspendedOrCancelled.hs view

file too large to diff

+ src/ReOC/Name/ResidualRisk.hs view

file too large to diff

+ src/ReOC/Name/Response.hs view

file too large to diff

+ src/ReOC/Name/RestHours.hs view

file too large to diff

+ src/ReOC/Name/ReviewMonths.hs view

file too large to diff

+ src/ReOC/Name/RevisionDetails.hs view

file too large to diff

+ src/ReOC/Name/RevisionEffective.hs view

file too large to diff

+ src/ReOC/Name/RevisionMonthsAfter.hs view

file too large to diff

+ src/ReOC/Name/RevisionParts.hs view

file too large to diff

+ src/ReOC/Name/RevisionVersionIncrement.hs view

file too large to diff

+ src/ReOC/Name/Revisions.hs view

file too large to diff

+ src/ReOC/Name/RiskAdditionalControls.hs view

file too large to diff

+ src/ReOC/Name/RiskAssessmentRiskConsequence.hs view

file too large to diff

+ src/ReOC/Name/RiskAssessmentRiskLikelihood.hs view

file too large to diff

+ src/ReOC/Name/RiskConsequence.hs view

file too large to diff

+ src/ReOC/Name/RiskDateEntered.hs view

file too large to diff

+ src/ReOC/Name/RiskDescription.hs view

file too large to diff

+ src/ReOC/Name/RiskExistingControls.hs view

file too large to diff

+ src/ReOC/Name/RiskHazard.hs view

file too large to diff

+ src/ReOC/Name/RiskInitialRisk.hs view

file too large to diff

+ src/ReOC/Name/RiskLikelihood.hs view

file too large to diff

+ src/ReOC/Name/RiskOwner.hs view

file too large to diff

+ src/ReOC/Name/RiskRegister.hs view

file too large to diff

+ src/ReOC/Name/RiskResidualRisk.hs view

file too large to diff

+ src/ReOC/Name/RiskReviewMonths.hs view

file too large to diff

+ src/ReOC/Name/RiskRiskDescription.hs view

file too large to diff

+ src/ReOC/Name/RiskRiskOwner.hs view

file too large to diff

+ src/ReOC/Name/Role.hs view

file too large to diff

+ src/ReOC/Name/RpaHistory.hs view

file too large to diff

+ src/ReOC/Name/RpaMake.hs view

file too large to diff

+ src/ReOC/Name/RpaModel.hs view

file too large to diff

+ src/ReOC/Name/RpaType.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeBatteryWarnings.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeBeforeFlight.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeCategory.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeEmergencyActions.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeFlightTermination.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeInspectionItems.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeMaximumGrossWeight.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeRpaMake.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeRpaModel.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeShortName.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeTransponderCarriage.hs view

file too large to diff

+ src/ReOC/Name/RpaTypeUserManual.hs view

file too large to diff

+ src/ReOC/Name/SerialNumber.hs view

file too large to diff

+ src/ReOC/Name/Services.hs view

file too large to diff

+ src/ReOC/Name/SharedController.hs view

file too large to diff

+ src/ReOC/Name/ShortName.hs view

file too large to diff

+ src/ReOC/Name/Signature.hs view

file too large to diff

+ src/ReOC/Name/Simulator.hs view

file too large to diff

+ src/ReOC/Name/Situation.hs view

file too large to diff

+ src/ReOC/Name/SoleDirector.hs view

file too large to diff

+ src/ReOC/Name/SoloAndMultiCrewOperations.hs view

file too large to diff

+ src/ReOC/Name/SoloOperationsOnly.hs view

file too large to diff

+ src/ReOC/Name/SouthAustralia.hs view

file too large to diff

+ src/ReOC/Name/StateOrTerritory.hs view

file too large to diff

+ src/ReOC/Name/StepIndex.hs view

file too large to diff

+ src/ReOC/Name/StreetAddress.hs view

file too large to diff

+ src/ReOC/Name/Suburb.hs view

file too large to diff

+ src/ReOC/Name/SuspensionPending.hs view

file too large to diff

+ src/ReOC/Name/Takeover.hs view

file too large to diff

+ src/ReOC/Name/Tasmania.hs view

file too large to diff

+ src/ReOC/Name/TeachingQualification.hs view

file too large to diff

+ src/ReOC/Name/TeachingQualificationHeld.hs view

file too large to diff

+ src/ReOC/Name/TeachingQualificationIntent.hs view

file too large to diff

+ src/ReOC/Name/TeachingQualificationTeachingQualificationHeld.hs view

file too large to diff

+ src/ReOC/Name/TeachingQualificationTeachingQualificationIntent.hs view

file too large to diff

+ src/ReOC/Name/Theory.hs view

file too large to diff

+ src/ReOC/Name/TheoryVenues.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangements.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsExam.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsExamPassMark.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsExaminer.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsMaxStudentsPerCourse.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsMaxStudentsPerInstructor.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsPracticalAreas.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsSimulator.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsTakeover.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsTheory.hs view

file too large to diff

+ src/ReOC/Name/TrainingArrangementsTheoryVenues.hs view

file too large to diff

+ src/ReOC/Name/TrainingCourseComplexities.hs view

file too large to diff

+ src/ReOC/Name/TrainingCourseCourseKind.hs view

file too large to diff

+ src/ReOC/Name/TrainingCourseTrainingRPA.hs view

file too large to diff

+ src/ReOC/Name/TrainingCourses.hs view

file too large to diff

+ src/ReOC/Name/TrainingMaterialCriNominee.hs view

file too large to diff

+ src/ReOC/Name/TrainingMaterialCriOtherReOCRoles.hs view

file too large to diff

+ src/ReOC/Name/TrainingMaterialOperationalExperience.hs view

file too large to diff

+ src/ReOC/Name/TrainingMaterialRePLHolding.hs view

file too large to diff

+ src/ReOC/Name/TrainingMaterialTeachingQualification.hs view

file too large to diff

+ src/ReOC/Name/TrainingMaterialTrainingArrangements.hs view

file too large to diff

+ src/ReOC/Name/TrainingMaterialTrainingCourses.hs view

file too large to diff

+ src/ReOC/Name/TrainingRPA.hs view

file too large to diff

+ src/ReOC/Name/TransponderCarriage.hs view

file too large to diff

+ src/ReOC/Name/TransponderFitted.hs view

file too large to diff

+ src/ReOC/Name/TransportLicenceRefused.hs view

file too large to diff

+ src/ReOC/Name/TypeOfAction.hs view

file too large to diff

+ src/ReOC/Name/UpgradeDifferentCategory.hs view

file too large to diff

+ src/ReOC/Name/UpgradeSameCategory.hs view

file too large to diff

+ src/ReOC/Name/UserManual.hs view

file too large to diff

+ src/ReOC/Name/Version.hs view

file too large to diff

+ src/ReOC/Name/VersionIncrement.hs view

file too large to diff

+ src/ReOC/Name/VersionMajorVersion.hs view

file too large to diff

+ src/ReOC/Name/VersionMinorVersion.hs view

file too large to diff

+ src/ReOC/Name/Victoria.hs view

file too large to diff

+ src/ReOC/Name/Weekly.hs view

file too large to diff

+ src/ReOC/Name/WesternAustralia.hs view

file too large to diff

+ src/ReOC/Name/WrittenSignatureFile.hs view

file too large to diff

+ src/ReOC/Name/WrittenSignatureImage.hs view

file too large to diff

+ src/ReOC/Name/WrittenSignatureWrittenSignatureFile.hs view

file too large to diff

+ src/ReOC/Name/WrittenSignatureWrittenSignatureImage.hs view

file too large to diff

+ src/ReOC/Personnel.hs view

file too large to diff

+ src/ReOC/Primitive/ABN.hs view

file too large to diff

+ src/ReOC/Primitive/ARN.hs view

file too large to diff

+ src/ReOC/Primitive/AtMost.hs view

file too large to diff

+ src/ReOC/Primitive/EmailAddress.hs view

file too large to diff

+ src/ReOC/Primitive/FormFont.hs view

file too large to diff

+ src/ReOC/Primitive/FormText.hs view

file too large to diff

+ src/ReOC/Primitive/GrossWeight.hs view

file too large to diff

+ src/ReOC/Primitive/PassMark.hs view

file too large to diff

+ src/ReOC/Primitive/Percentage.hs view

file too large to diff

+ src/ReOC/Primitive/PhoneNumber.hs view

file too large to diff

+ src/ReOC/Primitive/Positive.hs view

file too large to diff

+ src/ReOC/Primitive/Postcode.hs view

file too large to diff

+ src/ReOC/Primitive/ReviewMonths.hs view

file too large to diff

+ src/ReOC/Primitive/Some.hs view

file too large to diff

+ src/ReOC/Primitive/Text1.hs view

file too large to diff

+ src/ReOC/Render/ApplicationForm.hs view

file too large to diff

+ src/ReOC/Render/Base64.hs view

file too large to diff

+ src/ReOC/Render/BlankForm.hs view

file too large to diff

+ src/ReOC/Render/BuildInfo.hs view

file too large to diff

+ src/ReOC/Render/Embed.hs view

file too large to diff

+ src/ReOC/Render/Error.hs view

file too large to diff

+ src/ReOC/Render/Markdown.hs view

file too large to diff

+ src/ReOC/Render/Markdown/Block.hs view

file too large to diff

+ src/ReOC/Render/Odf.hs view

file too large to diff

+ src/ReOC/Render/OperationsManual.hs view

file too large to diff

+ src/ReOC/Render/OperationsManual/Diagram.hs view

file too large to diff

+ src/ReOC/Render/OperationsManual/Holes.hs view

file too large to diff

+ src/ReOC/Render/Template.hs view

file too large to diff

+ src/ReOC/Render/Text.hs view

file too large to diff

+ src/ReOC/Render/TrainingManual.hs view

file too large to diff

+ src/ReOC/Render/TrainingManual/Body.hs view

file too large to diff

+ src/ReOC/Render/TrainingManual/Chunk.hs view

file too large to diff

+ src/ReOC/Render/TrainingManual/Embed.hs view

file too large to diff

+ src/ReOC/Render/TrainingManual/Holes.hs view

file too large to diff

+ src/ReOC/Render/TrainingManual/Markup.hs view

file too large to diff

+ src/ReOC/Render/Write.hs view

file too large to diff

+ src/ReOC/Risk.hs view

file too large to diff

+ template/repl-training-manual.fodt view

file too large to diff

+ template/repl-training-manual.md view

file too large to diff

+ template/rpas-operations-manual.fodt view

file too large to diff

+ test/DataGens.hs view

file too large to diff

+ test/FormFields.hs view

file too large to diff

+ test/Laws.hs view

file too large to diff

+ test/OpticsTests.hs view

file too large to diff

+ test/PrimitiveGens.hs view

file too large to diff

+ test/RenderTests.hs view

file too large to diff

+ test/doctest_tests.hs view

file too large to diff

+ test/hedgehog_tests.hs view

file too large to diff