casa-reoc-0.1.0.0: src/ReOC/Data/Step.hs
{-# 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