All Downloads are FREE. Search and download functionalities are using the official Maven repository.

Org.Isda.Cdm.Functions.daml Maven / Gradle / Ivy

There is a newer version: 6.0.0-dev.92
Show newest version
daml 1.2

-- | This file is auto-generated from the ISDA Common
--   Domain Model, do not edit.
--   @version 6.0.0-dev.63
module Org.Isda.Cdm.Functions
  ( module Org.Isda.Cdm.Functions ) where

import Org.Isda.Cdm.Classes
import Org.Isda.Cdm.Enums
import Org.Isda.Cdm.ZonedDateTime
import Org.Isda.Cdm.MetaClasses
import Org.Isda.Cdm.MetaFields
import Prelude hiding (Party, exercise, id, product, agreement)

-- | Function argument object definition for Abs
data AbsSpec = AbsSpec with
  arg : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for Abs
absFunc : (AbsSpec -> Decimal) -> AbsSpec -> Decimal
absFunc impl spec = impl spec

-- | Function argument object definition for
--   AddBusinessDays
data AddBusinessDaysSpec = AddBusinessDaysSpec with
  originalDate : Date
  offsetBusinessDays : Int
  businessCenters : [BusinessCenterEnum]
    deriving (Eq, Ord, Show)

-- | Function definition for AddBusinessDays
addBusinessDaysFunc : (AddBusinessDaysSpec -> Date) -> AddBusinessDaysSpec -> Date
addBusinessDaysFunc impl spec = impl spec

-- | Function argument object definition for AddDays
data AddDaysSpec = AddDaysSpec with
  inputDate : Date
  numDays : Int
    deriving (Eq, Ord, Show)

-- | Function definition for AddDays
addDaysFunc : (AddDaysSpec -> Date) -> AddDaysSpec -> Date
addDaysFunc impl spec = impl spec

-- | Function argument object definition for AddTradeLot
data AddTradeLotSpec = AddTradeLotSpec with
  tradableProduct : TradableProduct
  newTradeLot : TradeLot
    deriving (Eq, Ord, Show)

-- | Function definition for AddTradeLot
addTradeLotFunc : (AddTradeLotSpec -> TradableProduct) -> AddTradeLotSpec -> TradableProduct
addTradeLotFunc impl spec = impl spec

-- | Function argument object definition for
--   AdjustedValuationDates
data AdjustedValuationDatesSpec = AdjustedValuationDatesSpec with
  valuationDates : ValuationDates
    deriving (Eq, Ord, Show)

-- | Function definition for AdjustedValuationDates
adjustedValuationDatesFunc : (AdjustedValuationDatesSpec -> [Date]) -> AdjustedValuationDatesSpec -> [Date]
adjustedValuationDatesFunc impl spec = impl spec

-- | Function argument object definition for
--   AppendDateToList
data AppendDateToListSpec = AppendDateToListSpec with
  origDates : [Date]
  newDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for AppendDateToList
appendDateToListFunc : (AppendDateToListSpec -> [Date]) -> AppendDateToListSpec -> [Date]
appendDateToListFunc impl spec = impl spec

-- | Function argument object definition for
--   AppendToVector
data AppendToVectorSpec = AppendToVectorSpec with
  vector : [Decimal]
  value : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for AppendToVector
appendToVectorFunc : (AppendToVectorSpec -> [Decimal]) -> AppendToVectorSpec -> [Decimal]
appendToVectorFunc impl spec = impl spec

-- | Function argument object definition for
--   ApplyAveragingFormula
data ApplyAveragingFormulaSpec = ApplyAveragingFormulaSpec with
  observations : [Decimal]
  weights : [Decimal]
    deriving (Eq, Ord, Show)

-- | Function definition for ApplyAveragingFormula
applyAveragingFormulaFunc : (ApplyAveragingFormulaSpec -> CalculatedRateDetails) -> ApplyAveragingFormulaSpec -> CalculatedRateDetails
applyAveragingFormulaFunc impl spec = impl spec

-- | Function argument object definition for
--   ApplyCapsAndFloors
data ApplyCapsAndFloorsSpec = ApplyCapsAndFloorsSpec with
  processing : FloatingRateProcessingParameters
  inputRate : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for ApplyCapsAndFloors
applyCapsAndFloorsFunc : (ApplyCapsAndFloorsSpec -> Decimal) -> ApplyCapsAndFloorsSpec -> Decimal
applyCapsAndFloorsFunc impl spec = impl spec

-- | Function argument object definition for
--   ApplyCompoundingFormula
data ApplyCompoundingFormulaSpec = ApplyCompoundingFormulaSpec with
  observations : [Decimal]
  weights : [Decimal]
  yearFrac : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for ApplyCompoundingFormula
applyCompoundingFormulaFunc : (ApplyCompoundingFormulaSpec -> CalculatedRateDetails) -> ApplyCompoundingFormulaSpec -> CalculatedRateDetails
applyCompoundingFormulaFunc impl spec = impl spec

-- | Function argument object definition for
--   ApplyFinalRateRounding
data ApplyFinalRateRoundingSpec = ApplyFinalRateRoundingSpec with
  baseRate : Decimal
  finalRateRounding : Optional Rounding
    deriving (Eq, Ord, Show)

-- | Function definition for ApplyFinalRateRounding
applyFinalRateRoundingFunc : (ApplyFinalRateRoundingSpec -> Decimal) -> ApplyFinalRateRoundingSpec -> Decimal
applyFinalRateRoundingFunc impl spec = impl spec

-- | Function argument object definition for
--   ApplyFloatingRatePostSpreadProcessing
data ApplyFloatingRatePostSpreadProcessingSpec = ApplyFloatingRatePostSpreadProcessingSpec with
  inputRate : Decimal
  processing : FloatingRateProcessingParameters
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ApplyFloatingRatePostSpreadProcessing
applyFloatingRatePostSpreadProcessingFunc : (ApplyFloatingRatePostSpreadProcessingSpec -> Decimal) -> ApplyFloatingRatePostSpreadProcessingSpec -> Decimal
applyFloatingRatePostSpreadProcessingFunc impl spec = impl spec

-- | Function argument object definition for
--   ApplyFloatingRateProcessing
data ApplyFloatingRateProcessingSpec = ApplyFloatingRateProcessingSpec with
  processing : FloatingRateProcessingParameters
  rawRate : Decimal
  calculationPeriod : CalculationPeriodBase
  isInitialPeriod : Bool
    deriving (Eq, Ord, Show)

-- | Function definition for ApplyFloatingRateProcessing
applyFloatingRateProcessingFunc : (ApplyFloatingRateProcessingSpec -> FloatingRateProcessingDetails) -> ApplyFloatingRateProcessingSpec -> FloatingRateProcessingDetails
applyFloatingRateProcessingFunc impl spec = impl spec

-- | Function argument object definition for
--   ApplyFloatingRateSetting
data ApplyFloatingRateSettingSpec = ApplyFloatingRateSettingSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
  isInitialPeriod : Bool
  suppliedNotional : Optional Decimal
  suppliedRate : Optional Decimal
  floatingRateSetting : Optional FloatingRateSettingDetails
    deriving (Eq, Ord, Show)

-- | Function definition for ApplyFloatingRateSetting
applyFloatingRateSettingFunc : (ApplyFloatingRateSettingSpec -> FloatingAmountCalculationDetails) -> ApplyFloatingRateSettingSpec -> FloatingAmountCalculationDetails
applyFloatingRateSettingFunc impl spec = impl spec

-- | Function argument object definition for
--   ApplyUSRateTreatment
data ApplyUSRateTreatmentSpec = ApplyUSRateTreatmentSpec with
  baseRate : Decimal
  rateTreatment : RateTreatmentEnum
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for ApplyUSRateTreatment
applyUSRateTreatmentFunc : (ApplyUSRateTreatmentSpec -> Decimal) -> ApplyUSRateTreatmentSpec -> Decimal
applyUSRateTreatmentFunc impl spec = impl spec

-- | Function argument object definition for
--   ArithmeticOperation
data ArithmeticOperationSpec = ArithmeticOperationSpec with
  n1 : Decimal
  op : ArithmeticOperationEnum
  n2 : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for ArithmeticOperation
arithmeticOperationFunc : (ArithmeticOperationSpec -> Decimal) -> ArithmeticOperationSpec -> Decimal
arithmeticOperationFunc impl spec = impl spec

-- | Function argument object definition for
--   AssetIdentifierByType
data AssetIdentifierByTypeSpec = AssetIdentifierByTypeSpec with
  identifiers : [AssetIdentifier]
  idType : AssetIdTypeEnum
    deriving (Eq, Ord, Show)

-- | Function definition for AssetIdentifierByType
assetIdentifierByTypeFunc : (AssetIdentifierByTypeSpec -> [AssetIdentifier]) -> AssetIdentifierByTypeSpec -> [AssetIdentifier]
assetIdentifierByTypeFunc impl spec = impl spec

-- | Function argument object definition for
--   BusinessCenterHolidays
data BusinessCenterHolidaysSpec = BusinessCenterHolidaysSpec with
  businessCenter : BusinessCenterEnum
    deriving (Eq, Ord, Show)

-- | Function definition for BusinessCenterHolidays
businessCenterHolidaysFunc : (BusinessCenterHolidaysSpec -> [Date]) -> BusinessCenterHolidaysSpec -> [Date]
businessCenterHolidaysFunc impl spec = impl spec

-- | Function argument object definition for
--   BusinessCenterHolidaysMultiple
data BusinessCenterHolidaysMultipleSpec = BusinessCenterHolidaysMultipleSpec with
  businessCenters : [BusinessCenterEnum]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   BusinessCenterHolidaysMultiple
businessCenterHolidaysMultipleFunc : (BusinessCenterHolidaysMultipleSpec -> [Date]) -> BusinessCenterHolidaysMultipleSpec -> [Date]
businessCenterHolidaysMultipleFunc impl spec = impl spec

-- | Function argument object definition for
--   CalculateFloatingCashFlow
data CalculateFloatingCashFlowSpec = CalculateFloatingCashFlowSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
  notional : Optional Decimal
  currency : Optional Text
  floatingRateSetting : Optional FloatingRateSettingDetails
  processedRateDetails : FloatingRateProcessingDetails
    deriving (Eq, Ord, Show)

-- | Function definition for CalculateFloatingCashFlow
calculateFloatingCashFlowFunc : (CalculateFloatingCashFlowSpec -> FloatingAmountCalculationDetails) -> CalculateFloatingCashFlowSpec -> FloatingAmountCalculationDetails
calculateFloatingCashFlowFunc impl spec = impl spec

-- | Function argument object definition for
--   CalculateTransfer
data CalculateTransferSpec = CalculateTransferSpec with
  instruction : CalculateTransferInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for CalculateTransfer
calculateTransferFunc : (CalculateTransferSpec -> [Transfer]) -> CalculateTransferSpec -> [Transfer]
calculateTransferFunc impl spec = impl spec

-- | Function argument object definition for
--   CalculateYearFraction
data CalculateYearFractionSpec = CalculateYearFractionSpec with
  interestRatePayout : InterestRatePayout
  dcf : DayCountFractionEnum
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for CalculateYearFraction
calculateYearFractionFunc : (CalculateYearFractionSpec -> Decimal) -> CalculateYearFractionSpec -> Decimal
calculateYearFractionFunc impl spec = impl spec

-- | Function argument object definition for
--   CalculationPeriod
data CalculationPeriodSpec = CalculationPeriodSpec with
  calculationPeriodDates : CalculationPeriodDates
  date : Date
    deriving (Eq, Ord, Show)

-- | Function definition for CalculationPeriod
calculationPeriodFunc : (CalculationPeriodSpec -> CalculationPeriodData) -> CalculationPeriodSpec -> CalculationPeriodData
calculationPeriodFunc impl spec = impl spec

-- | Function argument object definition for
--   CalculationPeriodRange
data CalculationPeriodRangeSpec = CalculationPeriodRangeSpec with
  startDate : Optional Date
  endDate : Optional Date
  dateAdjustments : Optional BusinessDayAdjustments
    deriving (Eq, Ord, Show)

-- | Function definition for CalculationPeriodRange
calculationPeriodRangeFunc : (CalculationPeriodRangeSpec -> CalculationPeriodData) -> CalculationPeriodRangeSpec -> CalculationPeriodData
calculationPeriodRangeFunc impl spec = impl spec

-- | Function argument object definition for
--   CalculationPeriods
data CalculationPeriodsSpec = CalculationPeriodsSpec with
  calculationPeriodDates : CalculationPeriodDates
    deriving (Eq, Ord, Show)

-- | Function definition for CalculationPeriods
calculationPeriodsFunc : (CalculationPeriodsSpec -> [CalculationPeriodData]) -> CalculationPeriodsSpec -> [CalculationPeriodData]
calculationPeriodsFunc impl spec = impl spec

-- | Function argument object definition for CapRateAmount
data CapRateAmountSpec = CapRateAmountSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for CapRateAmount
capRateAmountFunc : (CapRateAmountSpec -> Optional Decimal) -> CapRateAmountSpec -> Optional Decimal
capRateAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   CashPriceQuantityNoOfUnitsTriangulation
data CashPriceQuantityNoOfUnitsTriangulationSpec = CashPriceQuantityNoOfUnitsTriangulationSpec with
  quantity : [NonNegativeQuantitySchedule]
  price : [PriceSchedule]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   CashPriceQuantityNoOfUnitsTriangulation
cashPriceQuantityNoOfUnitsTriangulationFunc : (CashPriceQuantityNoOfUnitsTriangulationSpec -> Bool) -> CashPriceQuantityNoOfUnitsTriangulationSpec -> Bool
cashPriceQuantityNoOfUnitsTriangulationFunc impl spec = impl spec

-- | Function argument object definition for
--   CheckAgencyRating
data CheckAgencyRatingSpec = CheckAgencyRatingSpec with
  agencyRatings : [AgencyRatingCriteria]
  query : EligibilityQuery
    deriving (Eq, Ord, Show)

-- | Function definition for CheckAgencyRating
checkAgencyRatingFunc : (CheckAgencyRatingSpec -> Bool) -> CheckAgencyRatingSpec -> Bool
checkAgencyRatingFunc impl spec = impl spec

-- | Function argument object definition for
--   CheckAssetCountryOfOrigin
data CheckAssetCountryOfOriginSpec = CheckAssetCountryOfOriginSpec with
  assetCountryOfOrigin : [ISOCountryCodeEnum]
  query : EligibilityQuery
    deriving (Eq, Ord, Show)

-- | Function definition for CheckAssetCountryOfOrigin
checkAssetCountryOfOriginFunc : (CheckAssetCountryOfOriginSpec -> Bool) -> CheckAssetCountryOfOriginSpec -> Bool
checkAssetCountryOfOriginFunc impl spec = impl spec

-- | Function argument object definition for
--   CheckAssetType
data CheckAssetTypeSpec = CheckAssetTypeSpec with
  collateralAssetTypes : [AssetType]
  query : EligibilityQuery
    deriving (Eq, Ord, Show)

-- | Function definition for CheckAssetType
checkAssetTypeFunc : (CheckAssetTypeSpec -> Bool) -> CheckAssetTypeSpec -> Bool
checkAssetTypeFunc impl spec = impl spec

-- | Function argument object definition for
--   CheckDenominatedCurrency
data CheckDenominatedCurrencySpec = CheckDenominatedCurrencySpec with
  denominatedCurrency : [CurrencyCodeEnum]
  query : EligibilityQuery
    deriving (Eq, Ord, Show)

-- | Function definition for CheckDenominatedCurrency
checkDenominatedCurrencyFunc : (CheckDenominatedCurrencySpec -> Bool) -> CheckDenominatedCurrencySpec -> Bool
checkDenominatedCurrencyFunc impl spec = impl spec

-- | Function argument object definition for
--   CheckEligibilityByDetails
data CheckEligibilityByDetailsSpec = CheckEligibilityByDetailsSpec with
  specification : EligibleCollateralSpecification
  query : EligibilityQuery
    deriving (Eq, Ord, Show)

-- | Function definition for CheckEligibilityByDetails
checkEligibilityByDetailsFunc : (CheckEligibilityByDetailsSpec -> CheckEligibilityResult) -> CheckEligibilityByDetailsSpec -> CheckEligibilityResult
checkEligibilityByDetailsFunc impl spec = impl spec

-- | Function argument object definition for
--   CheckEligibilityForProduct
data CheckEligibilityForProductSpec = CheckEligibilityForProductSpec with
  specifications : [EligibleCollateralSpecification]
  product : Optional Product
    deriving (Eq, Ord, Show)

-- | Function definition for CheckEligibilityForProduct
checkEligibilityForProductFunc : (CheckEligibilityForProductSpec -> Optional CheckEligibilityResult) -> CheckEligibilityForProductSpec -> Optional CheckEligibilityResult
checkEligibilityForProductFunc impl spec = impl spec

-- | Function argument object definition for
--   CheckIssuerName
data CheckIssuerNameSpec = CheckIssuerNameSpec with
  issuerName : [LegalEntity]
  query : EligibilityQuery
    deriving (Eq, Ord, Show)

-- | Function definition for CheckIssuerName
checkIssuerNameFunc : (CheckIssuerNameSpec -> Bool) -> CheckIssuerNameSpec -> Bool
checkIssuerNameFunc impl spec = impl spec

-- | Function argument object definition for
--   CheckIssuerType
data CheckIssuerTypeSpec = CheckIssuerTypeSpec with
  issuerType : [CollateralIssuerType]
  query : EligibilityQuery
    deriving (Eq, Ord, Show)

-- | Function definition for CheckIssuerType
checkIssuerTypeFunc : (CheckIssuerTypeSpec -> Bool) -> CheckIssuerTypeSpec -> Bool
checkIssuerTypeFunc impl spec = impl spec

-- | Function argument object definition for CheckMaturity
data CheckMaturitySpec = CheckMaturitySpec with
  maturityRange : Optional PeriodRange
  query : EligibilityQuery
    deriving (Eq, Ord, Show)

-- | Function definition for CheckMaturity
checkMaturityFunc : (CheckMaturitySpec -> Bool) -> CheckMaturitySpec -> Bool
checkMaturityFunc impl spec = impl spec

-- | Function argument object definition for
--   CompareNumbers
data CompareNumbersSpec = CompareNumbersSpec with
  n1 : Decimal
  op : CompareOp
  n2 : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for CompareNumbers
compareNumbersFunc : (CompareNumbersSpec -> Bool) -> CompareNumbersSpec -> Bool
compareNumbersFunc impl spec = impl spec

-- | Function argument object definition for
--   CompareQuantityByUnitOfAmount
data CompareQuantityByUnitOfAmountSpec = CompareQuantityByUnitOfAmountSpec with
  quantity1 : [Quantity]
  op : CompareOp
  quantity2 : [Quantity]
  unitOfAmount : UnitType
    deriving (Eq, Ord, Show)

-- | Function definition for CompareQuantityByUnitOfAmount
compareQuantityByUnitOfAmountFunc : (CompareQuantityByUnitOfAmountSpec -> Bool) -> CompareQuantityByUnitOfAmountSpec -> Bool
compareQuantityByUnitOfAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   CompareTradeLot
data CompareTradeLotSpec = CompareTradeLotSpec with
  tradeLot1 : TradeLot
  op : CompareOp
  tradeLot2 : TradeLot
    deriving (Eq, Ord, Show)

-- | Function definition for CompareTradeLot
compareTradeLotFunc : (CompareTradeLotSpec -> Bool) -> CompareTradeLotSpec -> Bool
compareTradeLotFunc impl spec = impl spec

-- | Function argument object definition for
--   CompareTradeLotToAmount
data CompareTradeLotToAmountSpec = CompareTradeLotToAmountSpec with
  tradeLot : TradeLot
  op : CompareOp
  amount : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for CompareTradeLotToAmount
compareTradeLotToAmountFunc : (CompareTradeLotToAmountSpec -> Bool) -> CompareTradeLotToAmountSpec -> Bool
compareTradeLotToAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   CompareTradeStatesToAmount
data CompareTradeStatesToAmountSpec = CompareTradeStatesToAmountSpec with
  tradeStates : [TradeState]
  op : CompareOp
  amount : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for CompareTradeStatesToAmount
compareTradeStatesToAmountFunc : (CompareTradeStatesToAmountSpec -> Bool) -> CompareTradeStatesToAmountSpec -> Bool
compareTradeStatesToAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   ComputeCalculationPeriod
data ComputeCalculationPeriodSpec = ComputeCalculationPeriodSpec with
  calculationPeriod : CalculationPeriodBase
  priorCalculationPeriod : Optional CalculationPeriodBase
  calculateRelativeTo : Optional ObservationPeriodDatesEnum
  resetDates : Optional ResetDates
    deriving (Eq, Ord, Show)

-- | Function definition for ComputeCalculationPeriod
computeCalculationPeriodFunc : (ComputeCalculationPeriodSpec -> CalculationPeriodBase) -> ComputeCalculationPeriodSpec -> CalculationPeriodBase
computeCalculationPeriodFunc impl spec = impl spec




-- | Function argument object definition for
--   ConvertToAdjustableOrAdjustedOrRelativeDate
data ConvertToAdjustableOrAdjustedOrRelativeDateSpec = ConvertToAdjustableOrAdjustedOrRelativeDateSpec with
  adjustableOrRelativeDate : Optional AdjustableOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ConvertToAdjustableOrAdjustedOrRelativeDate
convertToAdjustableOrAdjustedOrRelativeDateFunc : (ConvertToAdjustableOrAdjustedOrRelativeDateSpec -> Optional AdjustableOrAdjustedOrRelativeDate) -> ConvertToAdjustableOrAdjustedOrRelativeDateSpec -> Optional AdjustableOrAdjustedOrRelativeDate
convertToAdjustableOrAdjustedOrRelativeDateFunc impl spec = impl spec

-- | Function argument object definition for
--   ConvertToAdjustableOrRelativeDate
data ConvertToAdjustableOrRelativeDateSpec = ConvertToAdjustableOrRelativeDateSpec with
  adjustableOrAdjustedOrRelativeDate : Optional AdjustableOrAdjustedOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ConvertToAdjustableOrRelativeDate
convertToAdjustableOrRelativeDateFunc : (ConvertToAdjustableOrRelativeDateSpec -> Optional AdjustableOrRelativeDate) -> ConvertToAdjustableOrRelativeDateSpec -> Optional AdjustableOrRelativeDate
convertToAdjustableOrRelativeDateFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_AcceptedWorkflowStep
data Create_AcceptedWorkflowStepSpec = Create_AcceptedWorkflowStepSpec with
  messageInformation : Optional MessageInformation
  timestamp : [EventTimestamp]
  eventIdentifier : [Identifier]
  party : [Party]
  account : [Account]
  proposedWorkflowStep : WorkflowStep
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Create_AcceptedWorkflowStep
create_AcceptedWorkflowStepFunc : (Create_AcceptedWorkflowStepSpec -> WorkflowStep) -> Create_AcceptedWorkflowStepSpec -> WorkflowStep
create_AcceptedWorkflowStepFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_AcceptedWorkflowStepFromInstruction
data Create_AcceptedWorkflowStepFromInstructionSpec = Create_AcceptedWorkflowStepFromInstructionSpec with
  proposedWorkflowStep : WorkflowStep
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_AcceptedWorkflowStepFromInstruction
create_AcceptedWorkflowStepFromInstructionFunc : (Create_AcceptedWorkflowStepFromInstructionSpec -> WorkflowStep) -> Create_AcceptedWorkflowStepFromInstructionSpec -> WorkflowStep
create_AcceptedWorkflowStepFromInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_AdjustmentPrimitiveInstruction
data Create_AdjustmentPrimitiveInstructionSpec = Create_AdjustmentPrimitiveInstructionSpec with
  tradeState : TradeState
  newAllinPrice : Decimal
  newAssetQuantity : Decimal
  effectiveRepriceDate : AdjustableOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_AdjustmentPrimitiveInstruction
create_AdjustmentPrimitiveInstructionFunc : (Create_AdjustmentPrimitiveInstructionSpec -> PrimitiveInstruction) -> Create_AdjustmentPrimitiveInstructionSpec -> PrimitiveInstruction
create_AdjustmentPrimitiveInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_AssetPayoutTradeStateWithObservations
data Create_AssetPayoutTradeStateWithObservationsSpec = Create_AssetPayoutTradeStateWithObservationsSpec with
  billingInstruction : BillingRecordInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_AssetPayoutTradeStateWithObservations
create_AssetPayoutTradeStateWithObservationsFunc : (Create_AssetPayoutTradeStateWithObservationsSpec -> TradeState) -> Create_AssetPayoutTradeStateWithObservationsSpec -> TradeState
create_AssetPayoutTradeStateWithObservationsFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_AssetReset
data Create_AssetResetSpec = Create_AssetResetSpec with
  assetPayout : AssetPayout
  observation : [Observation]
  resetDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for Create_AssetReset
create_AssetResetFunc : (Create_AssetResetSpec -> Reset) -> Create_AssetResetSpec -> Reset
create_AssetResetFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_AssetTransfer
data Create_AssetTransferSpec = Create_AssetTransferSpec with
  instruction : CalculateTransferInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for Create_AssetTransfer
create_AssetTransferFunc : (Create_AssetTransferSpec -> Transfer) -> Create_AssetTransferSpec -> Transfer
create_AssetTransferFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_BillingRecord
data Create_BillingRecordSpec = Create_BillingRecordSpec with
  billingInstruction : BillingRecordInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for Create_BillingRecord
create_BillingRecordFunc : (Create_BillingRecordSpec -> BillingRecord) -> Create_BillingRecordSpec -> BillingRecord
create_BillingRecordFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_BillingRecords
data Create_BillingRecordsSpec = Create_BillingRecordsSpec with
  billingInstruction : [BillingRecordInstruction]
    deriving (Eq, Ord, Show)

-- | Function definition for Create_BillingRecords
create_BillingRecordsFunc : (Create_BillingRecordsSpec -> [BillingRecord]) -> Create_BillingRecordsSpec -> [BillingRecord]
create_BillingRecordsFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_BillingSummary
data Create_BillingSummarySpec = Create_BillingSummarySpec with
  billingRecord : [BillingRecord]
    deriving (Eq, Ord, Show)

-- | Function definition for Create_BillingSummary
create_BillingSummaryFunc : (Create_BillingSummarySpec -> BillingSummary) -> Create_BillingSummarySpec -> BillingSummary
create_BillingSummaryFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_BusinessEvent
data Create_BusinessEventSpec = Create_BusinessEventSpec with
  instruction : [Instruction]
  intent : Optional EventIntentEnum
  eventDate : Date
  effectiveDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for Create_BusinessEvent
create_BusinessEventFunc : (Create_BusinessEventSpec -> BusinessEvent) -> Create_BusinessEventSpec -> BusinessEvent
create_BusinessEventFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_CalculationPeriodBase
data Create_CalculationPeriodBaseSpec = Create_CalculationPeriodBaseSpec with
  calcPeriodData : CalculationPeriodData
    deriving (Eq, Ord, Show)

-- | Function definition for Create_CalculationPeriodBase
create_CalculationPeriodBaseFunc : (Create_CalculationPeriodBaseSpec -> CalculationPeriodBase) -> Create_CalculationPeriodBaseSpec -> CalculationPeriodBase
create_CalculationPeriodBaseFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_CancellationPrimitiveInstruction
data Create_CancellationPrimitiveInstructionSpec = Create_CancellationPrimitiveInstructionSpec with
  tradeState : TradeState
  newRepurchasePrice : Optional Decimal
  cancellationDate : AdjustableOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_CancellationPrimitiveInstruction
create_CancellationPrimitiveInstructionFunc : (Create_CancellationPrimitiveInstructionSpec -> PrimitiveInstruction) -> Create_CancellationPrimitiveInstructionSpec -> PrimitiveInstruction
create_CancellationPrimitiveInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_CancellationTermChangeInstruction
data Create_CancellationTermChangeInstructionSpec = Create_CancellationTermChangeInstructionSpec with
  contractualProduct : ContractualProduct
  cancellationDate : AdjustableOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_CancellationTermChangeInstruction
create_CancellationTermChangeInstructionFunc : (Create_CancellationTermChangeInstructionSpec -> TermsChangeInstruction) -> Create_CancellationTermChangeInstructionSpec -> TermsChangeInstruction
create_CancellationTermChangeInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_CashTransfer
data Create_CashTransferSpec = Create_CashTransferSpec with
  instruction : CalculateTransferInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for Create_CashTransfer
create_CashTransferFunc : (Create_CashTransferSpec -> Transfer) -> Create_CashTransferSpec -> Transfer
create_CashTransferFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_Cashflow
data Create_CashflowSpec = Create_CashflowSpec with
  amount : Decimal
  currency : Text
  settlementDate : SettlementDate
  payerReceiver : PayerReceiver
  cashflowType : CashflowType
  paymentDiscounting : Optional PaymentDiscounting
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Cashflow
create_CashflowFunc : (Create_CashflowSpec -> Cashflow) -> Create_CashflowSpec -> Cashflow
create_CashflowFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_CashflowTermsChangeInstruction
data Create_CashflowTermsChangeInstructionSpec = Create_CashflowTermsChangeInstructionSpec with
  contractualProduct : ContractualProduct
  cashFlow : Cashflow
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_CashflowTermsChangeInstruction
create_CashflowTermsChangeInstructionFunc : (Create_CashflowTermsChangeInstructionSpec -> TermsChangeInstruction) -> Create_CashflowTermsChangeInstructionSpec -> TermsChangeInstruction
create_CashflowTermsChangeInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_ContractFormation
data Create_ContractFormationSpec = Create_ContractFormationSpec with
  instruction : ContractFormationInstruction
  execution : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_ContractFormation
create_ContractFormationFunc : (Create_ContractFormationSpec -> TradeState) -> Create_ContractFormationSpec -> TradeState
create_ContractFormationFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_ContractFormationInstruction
data Create_ContractFormationInstructionSpec = Create_ContractFormationInstructionSpec with
  legalAgreement : [LegalAgreement]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_ContractFormationInstruction
create_ContractFormationInstructionFunc : (Create_ContractFormationInstructionSpec -> ContractFormationInstruction) -> Create_ContractFormationInstructionSpec -> ContractFormationInstruction
create_ContractFormationInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_EffectiveOrTerminationDateTermChangeInstruction
data Create_EffectiveOrTerminationDateTermChangeInstructionSpec = Create_EffectiveOrTerminationDateTermChangeInstructionSpec with
  contractualProduct : ContractualProduct
  effectiveRollDate : Optional AdjustableOrRelativeDate
  terminationDate : Optional AdjustableOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_EffectiveOrTerminationDateTermChangeInstruction
create_EffectiveOrTerminationDateTermChangeInstructionFunc : (Create_EffectiveOrTerminationDateTermChangeInstructionSpec -> TermsChangeInstruction) -> Create_EffectiveOrTerminationDateTermChangeInstructionSpec -> TermsChangeInstruction
create_EffectiveOrTerminationDateTermChangeInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_EligibleCollateralSpecificationFromInstruction
data Create_EligibleCollateralSpecificationFromInstructionSpec = Create_EligibleCollateralSpecificationFromInstructionSpec with
  instruction : EligibleCollateralSpecificationInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_EligibleCollateralSpecificationFromInstruction
create_EligibleCollateralSpecificationFromInstructionFunc : (Create_EligibleCollateralSpecificationFromInstructionSpec -> EligibleCollateralSpecification) -> Create_EligibleCollateralSpecificationFromInstructionSpec -> EligibleCollateralSpecification
create_EligibleCollateralSpecificationFromInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_Execution
data Create_ExecutionSpec = Create_ExecutionSpec with
  instruction : ExecutionInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Execution
create_ExecutionFunc : (Create_ExecutionSpec -> TradeState) -> Create_ExecutionSpec -> TradeState
create_ExecutionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_Exercise
data Create_ExerciseSpec = Create_ExerciseSpec with
  exerciseInstruction : ExerciseInstruction
  originalTrade : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Exercise
create_ExerciseFunc : (Create_ExerciseSpec -> [TradeState]) -> Create_ExerciseSpec -> [TradeState]
create_ExerciseFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_IndexTransitionTermsChange
data Create_IndexTransitionTermsChangeSpec = Create_IndexTransitionTermsChangeSpec with
  instruction : IndexTransitionInstruction
  tradeState : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_IndexTransitionTermsChange
create_IndexTransitionTermsChangeFunc : (Create_IndexTransitionTermsChangeSpec -> TradeState) -> Create_IndexTransitionTermsChangeSpec -> TradeState
create_IndexTransitionTermsChangeFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_Observation
data Create_ObservationSpec = Create_ObservationSpec with
  instruction : ObservationInstruction
  before : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Observation
create_ObservationFunc : (Create_ObservationSpec -> TradeState) -> Create_ObservationSpec -> TradeState
create_ObservationFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_OnDemandInterestPaymentPrimitiveInstruction
data Create_OnDemandInterestPaymentPrimitiveInstructionSpec = Create_OnDemandInterestPaymentPrimitiveInstructionSpec with
  tradeState : TradeState
  interestAmount : Money
  settlementDate : SettlementDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_OnDemandInterestPaymentPrimitiveInstruction
create_OnDemandInterestPaymentPrimitiveInstructionFunc : (Create_OnDemandInterestPaymentPrimitiveInstructionSpec -> PrimitiveInstruction) -> Create_OnDemandInterestPaymentPrimitiveInstructionSpec -> PrimitiveInstruction
create_OnDemandInterestPaymentPrimitiveInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_OnDemandRateChangePriceChangeInstruction
data Create_OnDemandRateChangePriceChangeInstructionSpec = Create_OnDemandRateChangePriceChangeInstructionSpec with
  priceQuantity : [PriceQuantity]
  newRate : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_OnDemandRateChangePriceChangeInstruction
create_OnDemandRateChangePriceChangeInstructionFunc : (Create_OnDemandRateChangePriceChangeInstructionSpec -> QuantityChangeInstruction) -> Create_OnDemandRateChangePriceChangeInstructionSpec -> QuantityChangeInstruction
create_OnDemandRateChangePriceChangeInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_OnDemandRateChangePrimitiveInstruction
data Create_OnDemandRateChangePrimitiveInstructionSpec = Create_OnDemandRateChangePrimitiveInstructionSpec with
  tradeState : TradeState
  effectiveDate : AdjustableOrRelativeDate
  agreedRate : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_OnDemandRateChangePrimitiveInstruction
create_OnDemandRateChangePrimitiveInstructionFunc : (Create_OnDemandRateChangePrimitiveInstructionSpec -> PrimitiveInstruction) -> Create_OnDemandRateChangePrimitiveInstructionSpec -> PrimitiveInstruction
create_OnDemandRateChangePrimitiveInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_OnDemandRateChangeTermsChangeInstruction
data Create_OnDemandRateChangeTermsChangeInstructionSpec = Create_OnDemandRateChangeTermsChangeInstructionSpec with
  contractualProduct : ContractualProduct
  effectiveDate : AdjustableOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_OnDemandRateChangeTermsChangeInstruction
create_OnDemandRateChangeTermsChangeInstructionFunc : (Create_OnDemandRateChangeTermsChangeInstructionSpec -> TermsChangeInstruction) -> Create_OnDemandRateChangeTermsChangeInstructionSpec -> TermsChangeInstruction
create_OnDemandRateChangeTermsChangeInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_PackageExecutionDetails
data Create_PackageExecutionDetailsSpec = Create_PackageExecutionDetailsSpec with
  executionDetails : Optional ExecutionDetails
  listId : Identifier
  componentId : [Identifier]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_PackageExecutionDetails
create_PackageExecutionDetailsFunc : (Create_PackageExecutionDetailsSpec -> ExecutionDetails) -> Create_PackageExecutionDetailsSpec -> ExecutionDetails
create_PackageExecutionDetailsFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_PairOffInstruction
data Create_PairOffInstructionSpec = Create_PairOffInstructionSpec with
  tradeState : [TradeState]
  pairReference : Identifier
    deriving (Eq, Ord, Show)

-- | Function definition for Create_PairOffInstruction
create_PairOffInstructionFunc : (Create_PairOffInstructionSpec -> [Instruction]) -> Create_PairOffInstructionSpec -> [Instruction]
create_PairOffInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_PartialDeliveryPrimitiveInstruction
data Create_PartialDeliveryPrimitiveInstructionSpec = Create_PartialDeliveryPrimitiveInstructionSpec with
  tradeState : TradeState
  deliveredPriceQuantity : [PriceQuantity]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_PartialDeliveryPrimitiveInstruction
create_PartialDeliveryPrimitiveInstructionFunc : (Create_PartialDeliveryPrimitiveInstructionSpec -> PrimitiveInstruction) -> Create_PartialDeliveryPrimitiveInstructionSpec -> PrimitiveInstruction
create_PartialDeliveryPrimitiveInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_PartyChange
data Create_PartyChangeSpec = Create_PartyChangeSpec with
  counterparty : Counterparty
  ancillaryParty : Optional AncillaryParty
  partyRole : Optional PartyRole
  tradeId : [TradeIdentifier]
  originalTrade : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_PartyChange
create_PartyChangeFunc : (Create_PartyChangeSpec -> TradeState) -> Create_PartyChangeSpec -> TradeState
create_PartyChangeFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_ProposedWorkflowStep
data Create_ProposedWorkflowStepSpec = Create_ProposedWorkflowStepSpec with
  messageInformation : Optional MessageInformation
  timestamp : [EventTimestamp]
  eventIdentifier : [Identifier]
  party : [Party]
  account : [Account]
  previousWorkflowStep : Optional WorkflowStep
  action : ActionEnum
  proposedEvent : EventInstruction
  approval : [WorkflowStepApproval]
    deriving (Eq, Ord, Show)

-- | Function definition for Create_ProposedWorkflowStep
create_ProposedWorkflowStepFunc : (Create_ProposedWorkflowStepSpec -> WorkflowStep) -> Create_ProposedWorkflowStepSpec -> WorkflowStep
create_ProposedWorkflowStepFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_QuantityChange
data Create_QuantityChangeSpec = Create_QuantityChangeSpec with
  instruction : QuantityChangeInstruction
  tradeState : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_QuantityChange
create_QuantityChangeFunc : (Create_QuantityChangeSpec -> TradeState) -> Create_QuantityChangeSpec -> TradeState
create_QuantityChangeFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_RejectedWorkflowStep
data Create_RejectedWorkflowStepSpec = Create_RejectedWorkflowStepSpec with
  messageInformation : Optional MessageInformation
  timestamp : [EventTimestamp]
  eventIdentifier : [Identifier]
  proposedWorkflowStep : WorkflowStep
    deriving (Eq, Ord, Show)

-- | Function definition for Create_RejectedWorkflowStep
create_RejectedWorkflowStepFunc : (Create_RejectedWorkflowStepSpec -> WorkflowStep) -> Create_RejectedWorkflowStepSpec -> WorkflowStep
create_RejectedWorkflowStepFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_RepricePrimitiveInstruction
data Create_RepricePrimitiveInstructionSpec = Create_RepricePrimitiveInstructionSpec with
  tradeState : TradeState
  newAllinPrice : Decimal
  newCashValue : Decimal
  effectiveRepriceDate : AdjustableOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_RepricePrimitiveInstruction
create_RepricePrimitiveInstructionFunc : (Create_RepricePrimitiveInstructionSpec -> PrimitiveInstruction) -> Create_RepricePrimitiveInstructionSpec -> PrimitiveInstruction
create_RepricePrimitiveInstructionFunc impl spec = impl spec

-- | Function argument object definition for Create_Reset
data Create_ResetSpec = Create_ResetSpec with
  instruction : ResetInstruction
  tradeState : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Reset
create_ResetFunc : (Create_ResetSpec -> TradeState) -> Create_ResetSpec -> TradeState
create_ResetFunc impl spec = impl spec

-- | Function argument object definition for Create_Return
data Create_ReturnSpec = Create_ReturnSpec with
  tradeState : TradeState
  returnInstruction : ReturnInstruction
  returnDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Return
create_ReturnFunc : (Create_ReturnSpec -> BusinessEvent) -> Create_ReturnSpec -> BusinessEvent
create_ReturnFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_RollPrimitiveInstruction
data Create_RollPrimitiveInstructionSpec = Create_RollPrimitiveInstructionSpec with
  tradeState : TradeState
  effectiveRollDate : AdjustableOrRelativeDate
  terminationDate : AdjustableOrRelativeDate
  priceQuantity : [PriceQuantity]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_RollPrimitiveInstruction
create_RollPrimitiveInstructionFunc : (Create_RollPrimitiveInstructionSpec -> PrimitiveInstruction) -> Create_RollPrimitiveInstructionSpec -> PrimitiveInstruction
create_RollPrimitiveInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_RollTermChangeInstruction
data Create_RollTermChangeInstructionSpec = Create_RollTermChangeInstructionSpec with
  contractualProduct : ContractualProduct
  effectiveRollDate : AdjustableOrRelativeDate
  terminationDate : AdjustableOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_RollTermChangeInstruction
create_RollTermChangeInstructionFunc : (Create_RollTermChangeInstructionSpec -> TermsChangeInstruction) -> Create_RollTermChangeInstructionSpec -> TermsChangeInstruction
create_RollTermChangeInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_SecurityLendingInvoice
data Create_SecurityLendingInvoiceSpec = Create_SecurityLendingInvoiceSpec with
  instruction : BillingInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for Create_SecurityLendingInvoice
create_SecurityLendingInvoiceFunc : (Create_SecurityLendingInvoiceSpec -> SecurityLendingInvoice) -> Create_SecurityLendingInvoiceSpec -> SecurityLendingInvoice
create_SecurityLendingInvoiceFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_ShapingInstruction
data Create_ShapingInstructionSpec = Create_ShapingInstructionSpec with
  tradeState : TradeState
  tradeLots : [TradeLot]
  shapeIdentifier : Identifier
    deriving (Eq, Ord, Show)

-- | Function definition for Create_ShapingInstruction
create_ShapingInstructionFunc : (Create_ShapingInstructionSpec -> PrimitiveInstruction) -> Create_ShapingInstructionSpec -> PrimitiveInstruction
create_ShapingInstructionFunc impl spec = impl spec

-- | Function argument object definition for Create_Split
data Create_SplitSpec = Create_SplitSpec with
  breakdown : [PrimitiveInstruction]
  originalTrade : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Split
create_SplitFunc : (Create_SplitSpec -> [TradeState]) -> Create_SplitSpec -> [TradeState]
create_SplitFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_StockSplit
data Create_StockSplitSpec = Create_StockSplitSpec with
  stockSplitInstruction : StockSplitInstruction
  before : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_StockSplit
create_StockSplitFunc : (Create_StockSplitSpec -> TradeState) -> Create_StockSplitSpec -> TradeState
create_StockSplitFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_SubstitutionInstruction
data Create_SubstitutionInstructionSpec = Create_SubstitutionInstructionSpec with
  contractualProduct : ContractualProduct
  effectiveDate : AdjustableOrRelativeDate
  newCollateralPortfolio : CollateralPortfolio
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_SubstitutionInstruction
create_SubstitutionInstructionFunc : (Create_SubstitutionInstructionSpec -> TermsChangeInstruction) -> Create_SubstitutionInstructionSpec -> TermsChangeInstruction
create_SubstitutionInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_SubstitutionPrimitiveInstruction
data Create_SubstitutionPrimitiveInstructionSpec = Create_SubstitutionPrimitiveInstructionSpec with
  tradeState : TradeState
  effectiveDate : AdjustableOrRelativeDate
  newCollateralPortfolio : CollateralPortfolio
  priceQuantity : [PriceQuantity]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Create_SubstitutionPrimitiveInstruction
create_SubstitutionPrimitiveInstructionFunc : (Create_SubstitutionPrimitiveInstructionSpec -> PrimitiveInstruction) -> Create_SubstitutionPrimitiveInstructionSpec -> PrimitiveInstruction
create_SubstitutionPrimitiveInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_TerminationInstruction
data Create_TerminationInstructionSpec = Create_TerminationInstructionSpec with
  tradeState : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_TerminationInstruction
create_TerminationInstructionFunc : (Create_TerminationInstructionSpec -> PrimitiveInstruction) -> Create_TerminationInstructionSpec -> PrimitiveInstruction
create_TerminationInstructionFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_TermsChange
data Create_TermsChangeSpec = Create_TermsChangeSpec with
  termsChange : TermsChangeInstruction
  before : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_TermsChange
create_TermsChangeFunc : (Create_TermsChangeSpec -> TradeState) -> Create_TermsChangeSpec -> TradeState
create_TermsChangeFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_TradeState
data Create_TradeStateSpec = Create_TradeStateSpec with
  primitiveInstruction : Optional PrimitiveInstruction
  before : Optional TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_TradeState
create_TradeStateFunc : (Create_TradeStateSpec -> TradeState) -> Create_TradeStateSpec -> TradeState
create_TradeStateFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_Transfer
data Create_TransferSpec = Create_TransferSpec with
  instruction : TransferInstruction
  tradeState : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Transfer
create_TransferFunc : (Create_TransferSpec -> TradeState) -> Create_TransferSpec -> TradeState
create_TransferFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_Valuation
data Create_ValuationSpec = Create_ValuationSpec with
  instruction : ValuationInstruction
  before : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Valuation
create_ValuationFunc : (Create_ValuationSpec -> TradeState) -> Create_ValuationSpec -> TradeState
create_ValuationFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_Workflow
data Create_WorkflowSpec = Create_WorkflowSpec with
  steps : [WorkflowStep]
    deriving (Eq, Ord, Show)

-- | Function definition for Create_Workflow
create_WorkflowFunc : (Create_WorkflowSpec -> Workflow) -> Create_WorkflowSpec -> Workflow
create_WorkflowFunc impl spec = impl spec

-- | Function argument object definition for
--   Create_WorkflowStep
data Create_WorkflowStepSpec = Create_WorkflowStepSpec with
  messageInformation : Optional MessageInformation
  timestamp : [EventTimestamp]
  eventIdentifier : [Identifier]
  party : [Party]
  account : [Account]
  previousWorkflowStep : Optional WorkflowStep
  action : ActionEnum
  businessEvent : Optional BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Create_WorkflowStep
create_WorkflowStepFunc : (Create_WorkflowStepSpec -> WorkflowStep) -> Create_WorkflowStepSpec -> WorkflowStep
create_WorkflowStepFunc impl spec = impl spec

-- | Function argument object definition for
--   DateDifference
data DateDifferenceSpec = DateDifferenceSpec with
  firstDate : Date
  secondDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for DateDifference
dateDifferenceFunc : (DateDifferenceSpec -> Int) -> DateDifferenceSpec -> Int
dateDifferenceFunc impl spec = impl spec

-- | Function argument object definition for DayCountBasis
data DayCountBasisSpec = DayCountBasisSpec with
  dcf : DayCountFractionEnum
    deriving (Eq, Ord, Show)

-- | Function definition for DayCountBasis
dayCountBasisFunc : (DayCountBasisSpec -> Int) -> DayCountBasisSpec -> Int
dayCountBasisFunc impl spec = impl spec










-- | Function argument object definition for DayOfWeek
data DayOfWeekSpec = DayOfWeekSpec with
  date : Date
    deriving (Eq, Ord, Show)

-- | Function definition for DayOfWeek
dayOfWeekFunc : (DayOfWeekSpec -> DayOfWeekEnum) -> DayOfWeekSpec -> DayOfWeekEnum
dayOfWeekFunc impl spec = impl spec

-- | Function argument object definition for
--   DefaultFloatingRate
data DefaultFloatingRateSpec = DefaultFloatingRateSpec with
  suppliedRate : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for DefaultFloatingRate
defaultFloatingRateFunc : (DefaultFloatingRateSpec -> FloatingRateProcessingDetails) -> DefaultFloatingRateSpec -> FloatingRateProcessingDetails
defaultFloatingRateFunc impl spec = impl spec

-- | Function argument object definition for
--   DetermineFixingDate
data DetermineFixingDateSpec = DetermineFixingDateSpec with
  resetDates : ResetDates
  resetDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for DetermineFixingDate
determineFixingDateFunc : (DetermineFixingDateSpec -> Date) -> DetermineFixingDateSpec -> Date
determineFixingDateFunc impl spec = impl spec

-- | Function argument object definition for
--   DetermineFloatingRateReset
data DetermineFloatingRateResetSpec = DetermineFloatingRateResetSpec with
  interestRatePayout : InterestRatePayout
  calcPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for DetermineFloatingRateReset
determineFloatingRateResetFunc : (DetermineFloatingRateResetSpec -> FloatingRateSettingDetails) -> DetermineFloatingRateResetSpec -> FloatingRateSettingDetails
determineFloatingRateResetFunc impl spec = impl spec

-- | Function argument object definition for
--   DetermineObservationPeriod
data DetermineObservationPeriodSpec = DetermineObservationPeriodSpec with
  adjustedCalculationPeriod : CalculationPeriodBase
  calculationParams : FloatingRateCalculationParameters
    deriving (Eq, Ord, Show)

-- | Function definition for DetermineObservationPeriod
determineObservationPeriodFunc : (DetermineObservationPeriodSpec -> CalculationPeriodBase) -> DetermineObservationPeriodSpec -> CalculationPeriodBase
determineObservationPeriodFunc impl spec = impl spec

-- | Function argument object definition for
--   DetermineResetDate
data DetermineResetDateSpec = DetermineResetDateSpec with
  resetDates : ResetDates
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for DetermineResetDate
determineResetDateFunc : (DetermineResetDateSpec -> Date) -> DetermineResetDateSpec -> Date
determineResetDateFunc impl spec = impl spec

-- | Function argument object definition for
--   DetermineWeightingDates
data DetermineWeightingDatesSpec = DetermineWeightingDatesSpec with
  calculationParams : FloatingRateCalculationParameters
  observationDates : [Date]
  observationPeriod : CalculationPeriodBase
  adjustedCalculationPeriod : CalculationPeriodBase
  lockoutDays : Int
    deriving (Eq, Ord, Show)

-- | Function definition for DetermineWeightingDates
determineWeightingDatesFunc : (DetermineWeightingDatesSpec -> [Date]) -> DetermineWeightingDatesSpec -> [Date]
determineWeightingDatesFunc impl spec = impl spec

-- | Function argument object definition for
--   DifferentOrdinalsCondition
data DifferentOrdinalsConditionSpec = DifferentOrdinalsConditionSpec with
  taxonomy : Taxonomy
    deriving (Eq, Ord, Show)

-- | Function definition for DifferentOrdinalsCondition
differentOrdinalsConditionFunc : (DifferentOrdinalsConditionSpec -> Bool) -> DifferentOrdinalsConditionSpec -> Bool
differentOrdinalsConditionFunc impl spec = impl spec

-- | Function argument object definition for
--   DividendCashSettlementAmount
data DividendCashSettlementAmountSpec = DividendCashSettlementAmountSpec with
  numberOfSecurities : Decimal
  declaredDividend : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for DividendCashSettlementAmount
dividendCashSettlementAmountFunc : (DividendCashSettlementAmountSpec -> Decimal) -> DividendCashSettlementAmountSpec -> Decimal
dividendCashSettlementAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   EmptyExecutionDetails
data EmptyExecutionDetailsSpec = EmptyExecutionDetailsSpec with
    deriving (Eq, Ord, Show)

-- | Function definition for EmptyExecutionDetails
emptyExecutionDetailsFunc : (EmptyExecutionDetailsSpec -> Optional ExecutionDetails) -> EmptyExecutionDetailsSpec -> Optional ExecutionDetails
emptyExecutionDetailsFunc impl spec = impl spec

-- | Function argument object definition for
--   EmptyTransferHistory
data EmptyTransferHistorySpec = EmptyTransferHistorySpec with
    deriving (Eq, Ord, Show)

-- | Function definition for EmptyTransferHistory
emptyTransferHistoryFunc : (EmptyTransferHistorySpec -> [TransferState]) -> EmptyTransferHistorySpec -> [TransferState]
emptyTransferHistoryFunc impl spec = impl spec

-- | Function argument object definition for
--   EquityCashSettlementAmount
data EquityCashSettlementAmountSpec = EquityCashSettlementAmountSpec with
  tradeState : TradeState
  date : Date
    deriving (Eq, Ord, Show)

-- | Function definition for EquityCashSettlementAmount
equityCashSettlementAmountFunc : (EquityCashSettlementAmountSpec -> Transfer) -> EquityCashSettlementAmountSpec -> Transfer
equityCashSettlementAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   EquityNotionalAmount
data EquityNotionalAmountSpec = EquityNotionalAmountSpec with
  numberOfSecurities : Decimal
  price : Price
    deriving (Eq, Ord, Show)

-- | Function definition for EquityNotionalAmount
equityNotionalAmountFunc : (EquityNotionalAmountSpec -> Decimal) -> EquityNotionalAmountSpec -> Decimal
equityNotionalAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   EquityPerformance
data EquityPerformanceSpec = EquityPerformanceSpec with
  trade : Trade
  observation : Price
  date : Date
    deriving (Eq, Ord, Show)

-- | Function definition for EquityPerformance
equityPerformanceFunc : (EquityPerformanceSpec -> Decimal) -> EquityPerformanceSpec -> Decimal
equityPerformanceFunc impl spec = impl spec

-- | Function argument object definition for
--   EvaluateCalculatedRate
data EvaluateCalculatedRateSpec = EvaluateCalculatedRateSpec with
  floatingRateOption : FloatingRateOption
  calculationParameters : FloatingRateCalculationParameters
  resetDates : Optional ResetDates
  calculationPeriod : CalculationPeriodBase
  priorCalculationPeriod : Optional CalculationPeriodBase
  dayCount : DayCountFractionEnum
    deriving (Eq, Ord, Show)

-- | Function definition for EvaluateCalculatedRate
evaluateCalculatedRateFunc : (EvaluateCalculatedRateSpec -> FloatingRateSettingDetails) -> EvaluateCalculatedRateSpec -> FloatingRateSettingDetails
evaluateCalculatedRateFunc impl spec = impl spec

-- | Function argument object definition for
--   EvaluatePortfolioState
data EvaluatePortfolioStateSpec = EvaluatePortfolioStateSpec with
  portfolio : Portfolio
    deriving (Eq, Ord, Show)

-- | Function definition for EvaluatePortfolioState
evaluatePortfolioStateFunc : (EvaluatePortfolioStateSpec -> PortfolioState) -> EvaluatePortfolioStateSpec -> PortfolioState
evaluatePortfolioStateFunc impl spec = impl spec

-- | Function argument object definition for
--   EvaluateScreenRate
data EvaluateScreenRateSpec = EvaluateScreenRateSpec with
  rateDef : FloatingRate
  resetDates : ResetDates
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for EvaluateScreenRate
evaluateScreenRateFunc : (EvaluateScreenRateSpec -> FloatingRateSettingDetails) -> EvaluateScreenRateSpec -> FloatingRateSettingDetails
evaluateScreenRateFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractAfterTradableProduct
data ExtractAfterTradableProductSpec = ExtractAfterTradableProductSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for ExtractAfterTradableProduct
extractAfterTradableProductFunc : (ExtractAfterTradableProductSpec -> Optional TradableProduct) -> ExtractAfterTradableProductSpec -> Optional TradableProduct
extractAfterTradableProductFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractAncillaryPartyByRole
data ExtractAncillaryPartyByRoleSpec = ExtractAncillaryPartyByRoleSpec with
  ancillaryParties : [AncillaryParty]
  roleEnumToExtract : AncillaryRoleEnum
    deriving (Eq, Ord, Show)

-- | Function definition for ExtractAncillaryPartyByRole
extractAncillaryPartyByRoleFunc : (ExtractAncillaryPartyByRoleSpec -> Optional AncillaryParty) -> ExtractAncillaryPartyByRoleSpec -> Optional AncillaryParty
extractAncillaryPartyByRoleFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractBeforeEconomicTerms
data ExtractBeforeEconomicTermsSpec = ExtractBeforeEconomicTermsSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for ExtractBeforeEconomicTerms
extractBeforeEconomicTermsFunc : (ExtractBeforeEconomicTermsSpec -> Optional EconomicTerms) -> ExtractBeforeEconomicTermsSpec -> Optional EconomicTerms
extractBeforeEconomicTermsFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractBeforeTradableProduct
data ExtractBeforeTradableProductSpec = ExtractBeforeTradableProductSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for ExtractBeforeTradableProduct
extractBeforeTradableProductFunc : (ExtractBeforeTradableProductSpec -> Optional TradableProduct) -> ExtractBeforeTradableProductSpec -> Optional TradableProduct
extractBeforeTradableProductFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractCounterpartyByRole
data ExtractCounterpartyByRoleSpec = ExtractCounterpartyByRoleSpec with
  counterparties : [Counterparty]
  roleEnumToExtract : CounterpartyRoleEnum
    deriving (Eq, Ord, Show)

-- | Function definition for ExtractCounterpartyByRole
extractCounterpartyByRoleFunc : (ExtractCounterpartyByRoleSpec -> Optional Counterparty) -> ExtractCounterpartyByRoleSpec -> Optional Counterparty
extractCounterpartyByRoleFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractFixedLeg
data ExtractFixedLegSpec = ExtractFixedLegSpec with
  interestRatePayouts : [InterestRatePayout]
    deriving (Eq, Ord, Show)

-- | Function definition for ExtractFixedLeg
extractFixedLegFunc : (ExtractFixedLegSpec -> Optional InterestRatePayout) -> ExtractFixedLegSpec -> Optional InterestRatePayout
extractFixedLegFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractOpenEconomicTerms
data ExtractOpenEconomicTermsSpec = ExtractOpenEconomicTermsSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for ExtractOpenEconomicTerms
extractOpenEconomicTermsFunc : (ExtractOpenEconomicTermsSpec -> Optional EconomicTerms) -> ExtractOpenEconomicTermsSpec -> Optional EconomicTerms
extractOpenEconomicTermsFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractTradeCollateralPrice
data ExtractTradeCollateralPriceSpec = ExtractTradeCollateralPriceSpec with
  tradableProduct : TradableProduct
    deriving (Eq, Ord, Show)

-- | Function definition for ExtractTradeCollateralPrice
extractTradeCollateralPriceFunc : (ExtractTradeCollateralPriceSpec -> [Decimal]) -> ExtractTradeCollateralPriceSpec -> [Decimal]
extractTradeCollateralPriceFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractTradeCollateralQuantity
data ExtractTradeCollateralQuantitySpec = ExtractTradeCollateralQuantitySpec with
  tradableProduct : TradableProduct
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ExtractTradeCollateralQuantity
extractTradeCollateralQuantityFunc : (ExtractTradeCollateralQuantitySpec -> [Decimal]) -> ExtractTradeCollateralQuantitySpec -> [Decimal]
extractTradeCollateralQuantityFunc impl spec = impl spec

-- | Function argument object definition for
--   ExtractTradePurchasePrice
data ExtractTradePurchasePriceSpec = ExtractTradePurchasePriceSpec with
  tradableProduct : TradableProduct
    deriving (Eq, Ord, Show)

-- | Function definition for ExtractTradePurchasePrice
extractTradePurchasePriceFunc : (ExtractTradePurchasePriceSpec -> [Decimal]) -> ExtractTradePurchasePriceSpec -> [Decimal]
extractTradePurchasePriceFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterCashTransfers
data FilterCashTransfersSpec = FilterCashTransfersSpec with
  transfers : [Transfer]
    deriving (Eq, Ord, Show)

-- | Function definition for FilterCashTransfers
filterCashTransfersFunc : (FilterCashTransfersSpec -> [Transfer]) -> FilterCashTransfersSpec -> [Transfer]
filterCashTransfersFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterClosedTradeStates
data FilterClosedTradeStatesSpec = FilterClosedTradeStatesSpec with
  tradeStates : [TradeState]
    deriving (Eq, Ord, Show)

-- | Function definition for FilterClosedTradeStates
filterClosedTradeStatesFunc : (FilterClosedTradeStatesSpec -> [TradeState]) -> FilterClosedTradeStatesSpec -> [TradeState]
filterClosedTradeStatesFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterOpenTradeStates
data FilterOpenTradeStatesSpec = FilterOpenTradeStatesSpec with
  tradeStates : [TradeState]
    deriving (Eq, Ord, Show)

-- | Function definition for FilterOpenTradeStates
filterOpenTradeStatesFunc : (FilterOpenTradeStatesSpec -> [TradeState]) -> FilterOpenTradeStatesSpec -> [TradeState]
filterOpenTradeStatesFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterPartyRole
data FilterPartyRoleSpec = FilterPartyRoleSpec with
  partyRoles : [PartyRole]
  partyRoleEnum : PartyRoleEnum
    deriving (Eq, Ord, Show)

-- | Function definition for FilterPartyRole
filterPartyRoleFunc : (FilterPartyRoleSpec -> [PartyRole]) -> FilterPartyRoleSpec -> [PartyRole]
filterPartyRoleFunc impl spec = impl spec

-- | Function argument object definition for FilterPrice
data FilterPriceSpec = FilterPriceSpec with
  prices : [PriceSchedule]
  priceType : PriceTypeEnum
  arithmeticOperators : [ArithmeticOperationEnum]
  priceExpression : Optional PriceExpressionEnum
    deriving (Eq, Ord, Show)

-- | Function definition for FilterPrice
filterPriceFunc : (FilterPriceSpec -> Optional PriceSchedule) -> FilterPriceSpec -> Optional PriceSchedule
filterPriceFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterQuantity
data FilterQuantitySpec = FilterQuantitySpec with
  quantities : [Quantity]
  unit : UnitType
    deriving (Eq, Ord, Show)

-- | Function definition for FilterQuantity
filterQuantityFunc : (FilterQuantitySpec -> [Quantity]) -> FilterQuantitySpec -> [Quantity]
filterQuantityFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterQuantityByCurrency
data FilterQuantityByCurrencySpec = FilterQuantityByCurrencySpec with
  quantities : [QuantitySchedule]
  currency : Text
    deriving (Eq, Ord, Show)

-- | Function definition for FilterQuantityByCurrency
filterQuantityByCurrencyFunc : (FilterQuantityByCurrencySpec -> [QuantitySchedule]) -> FilterQuantityByCurrencySpec -> [QuantitySchedule]
filterQuantityByCurrencyFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterQuantityByCurrencyExists
data FilterQuantityByCurrencyExistsSpec = FilterQuantityByCurrencyExistsSpec with
  quantities : [QuantitySchedule]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   FilterQuantityByCurrencyExists
filterQuantityByCurrencyExistsFunc : (FilterQuantityByCurrencyExistsSpec -> [QuantitySchedule]) -> FilterQuantityByCurrencyExistsSpec -> [QuantitySchedule]
filterQuantityByCurrencyExistsFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterQuantityByFinancialUnit
data FilterQuantityByFinancialUnitSpec = FilterQuantityByFinancialUnitSpec with
  quantities : [QuantitySchedule]
  financialUnit : FinancialUnitEnum
    deriving (Eq, Ord, Show)

-- | Function definition for FilterQuantityByFinancialUnit
filterQuantityByFinancialUnitFunc : (FilterQuantityByFinancialUnitSpec -> [QuantitySchedule]) -> FilterQuantityByFinancialUnitSpec -> [QuantitySchedule]
filterQuantityByFinancialUnitFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterRelatedPartyByRole
data FilterRelatedPartyByRoleSpec = FilterRelatedPartyByRoleSpec with
  relatedParties : [RelatedParty]
  partyRoleEnum : PartyRoleEnum
    deriving (Eq, Ord, Show)

-- | Function definition for FilterRelatedPartyByRole
filterRelatedPartyByRoleFunc : (FilterRelatedPartyByRoleSpec -> [RelatedParty]) -> FilterRelatedPartyByRoleSpec -> [RelatedParty]
filterRelatedPartyByRoleFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterSecurityTransfers
data FilterSecurityTransfersSpec = FilterSecurityTransfersSpec with
  transfers : [Transfer]
    deriving (Eq, Ord, Show)

-- | Function definition for FilterSecurityTransfers
filterSecurityTransfersFunc : (FilterSecurityTransfersSpec -> [Transfer]) -> FilterSecurityTransfersSpec -> [Transfer]
filterSecurityTransfersFunc impl spec = impl spec

-- | Function argument object definition for
--   FilterTradeLot
data FilterTradeLotSpec = FilterTradeLotSpec with
  tradeLots : [TradeLot]
  lotIdentifier : [Identifier]
    deriving (Eq, Ord, Show)

-- | Function definition for FilterTradeLot
filterTradeLotFunc : (FilterTradeLotSpec -> [TradeLot]) -> FilterTradeLotSpec -> [TradeLot]
filterTradeLotFunc impl spec = impl spec

-- | Function argument object definition for
--   FindMatchingIndexTransitionInstruction
data FindMatchingIndexTransitionInstructionSpec = FindMatchingIndexTransitionInstructionSpec with
  instructions : [PriceQuantity]
  priceQuantity : PriceQuantity
    deriving (Eq, Ord, Show)

-- | Function definition for
--   FindMatchingIndexTransitionInstruction
findMatchingIndexTransitionInstructionFunc : (FindMatchingIndexTransitionInstructionSpec -> Optional PriceQuantity) -> FindMatchingIndexTransitionInstructionSpec -> Optional PriceQuantity
findMatchingIndexTransitionInstructionFunc impl spec = impl spec

-- | Function argument object definition for FixedAmount
data FixedAmountSpec = FixedAmountSpec with
  interestRatePayout : InterestRatePayout
  notional : Optional Decimal
  date : Optional Date
  calculationPeriodData : Optional CalculationPeriodData
    deriving (Eq, Ord, Show)

-- | Function definition for FixedAmount
fixedAmountFunc : (FixedAmountSpec -> Decimal) -> FixedAmountSpec -> Decimal
fixedAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   FixedAmountCalculation
data FixedAmountCalculationSpec = FixedAmountCalculationSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
  notional : Optional Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for FixedAmountCalculation
fixedAmountCalculationFunc : (FixedAmountCalculationSpec -> FixedAmountCalculationDetails) -> FixedAmountCalculationSpec -> FixedAmountCalculationDetails
fixedAmountCalculationFunc impl spec = impl spec

-- | Function argument object definition for
--   FloatingAmount
data FloatingAmountSpec = FloatingAmountSpec with
  interestRatePayout : InterestRatePayout
  rate : Optional Decimal
  notional : Optional Decimal
  date : Optional Date
  calculationPeriodData : Optional CalculationPeriodData
    deriving (Eq, Ord, Show)

-- | Function definition for FloatingAmount
floatingAmountFunc : (FloatingAmountSpec -> Decimal) -> FloatingAmountSpec -> Decimal
floatingAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   FloatingAmountCalculation
data FloatingAmountCalculationSpec = FloatingAmountCalculationSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
  isInitialPeriod : Bool
  suppliedNotional : Optional Decimal
  suppliedRate : Optional Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for FloatingAmountCalculation
floatingAmountCalculationFunc : (FloatingAmountCalculationSpec -> FloatingAmountCalculationDetails) -> FloatingAmountCalculationSpec -> FloatingAmountCalculationDetails
floatingAmountCalculationFunc impl spec = impl spec

-- | Function argument object definition for
--   FloatingRateIndexMetadata
data FloatingRateIndexMetadataSpec = FloatingRateIndexMetadataSpec with
  floatingRateIndexName : FloatingRateIndexEnum
    deriving (Eq, Ord, Show)

-- | Function definition for FloatingRateIndexMetadata
floatingRateIndexMetadataFunc : (FloatingRateIndexMetadataSpec -> Optional FloatingRateIndexDefinition) -> FloatingRateIndexMetadataSpec -> Optional FloatingRateIndexDefinition
floatingRateIndexMetadataFunc impl spec = impl spec

-- | Function argument object definition for
--   FloorRateAmount
data FloorRateAmountSpec = FloorRateAmountSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for FloorRateAmount
floorRateAmountFunc : (FloorRateAmountSpec -> Optional Decimal) -> FloorRateAmountSpec -> Optional Decimal
floorRateAmountFunc impl spec = impl spec

-- | Function argument object definition for FpmlIrd8
data FpmlIrd8Spec = FpmlIrd8Spec with
  tradableProduct : TradableProduct
  accounts : [Account]
    deriving (Eq, Ord, Show)

-- | Function definition for FpmlIrd8
fpmlIrd8Func : (FpmlIrd8Spec -> Bool) -> FpmlIrd8Spec -> Bool
fpmlIrd8Func impl spec = impl spec

-- | Function argument object definition for
--   FxMarkToMarket
data FxMarkToMarketSpec = FxMarkToMarketSpec with
  trade : Trade
    deriving (Eq, Ord, Show)

-- | Function definition for FxMarkToMarket
fxMarkToMarketFunc : (FxMarkToMarketSpec -> Decimal) -> FxMarkToMarketSpec -> Decimal
fxMarkToMarketFunc impl spec = impl spec

-- | Function argument object definition for
--   GenerateDateList
data GenerateDateListSpec = GenerateDateListSpec with
  startDate : Date
  endDate : Date
  businessCenters : [BusinessCenterEnum]
    deriving (Eq, Ord, Show)

-- | Function definition for GenerateDateList
generateDateListFunc : (GenerateDateListSpec -> [Date]) -> GenerateDateListSpec -> [Date]
generateDateListFunc impl spec = impl spec

-- | Function argument object definition for
--   GenerateObservationDates
data GenerateObservationDatesSpec = GenerateObservationDatesSpec with
  observationPeriod : CalculationPeriodBase
  businessCenters : [BusinessCenterEnum]
  lockoutDays : Optional Int
    deriving (Eq, Ord, Show)

-- | Function definition for GenerateObservationDates
generateObservationDatesFunc : (GenerateObservationDatesSpec -> [Date]) -> GenerateObservationDatesSpec -> [Date]
generateObservationDatesFunc impl spec = impl spec

-- | Function argument object definition for
--   GenerateObservationDatesAndWeights
data GenerateObservationDatesAndWeightsSpec = GenerateObservationDatesAndWeightsSpec with
  calculationParams : FloatingRateCalculationParameters
  resetDates : Optional ResetDates
  calculationPeriod : CalculationPeriodBase
  priorCalculationPeriod : Optional CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for
--   GenerateObservationDatesAndWeights
generateObservationDatesAndWeightsFunc : (GenerateObservationDatesAndWeightsSpec -> CalculatedRateObservationDatesAndWeights) -> GenerateObservationDatesAndWeightsSpec -> CalculatedRateObservationDatesAndWeights
generateObservationDatesAndWeightsFunc impl spec = impl spec

-- | Function argument object definition for
--   GenerateObservationPeriod
data GenerateObservationPeriodSpec = GenerateObservationPeriodSpec with
  calculationPeriod : CalculationPeriodBase
  businessCenters : [BusinessCenterEnum]
  shiftDays : Optional Int
    deriving (Eq, Ord, Show)

-- | Function definition for GenerateObservationPeriod
generateObservationPeriodFunc : (GenerateObservationPeriodSpec -> CalculationPeriodBase) -> GenerateObservationPeriodSpec -> CalculationPeriodBase
generateObservationPeriodFunc impl spec = impl spec

-- | Function argument object definition for
--   GenerateWeightings
data GenerateWeightingsSpec = GenerateWeightingsSpec with
  calculationParams : FloatingRateCalculationParameters
  observationDates : [Date]
  observationPeriod : CalculationPeriodBase
  adjustedCalculationPeriod : CalculationPeriodBase
  lockoutDays : Int
    deriving (Eq, Ord, Show)

-- | Function definition for GenerateWeightings
generateWeightingsFunc : (GenerateWeightingsSpec -> [Decimal]) -> GenerateWeightingsSpec -> [Decimal]
generateWeightingsFunc impl spec = impl spec

-- | Function argument object definition for
--   GenerateWeights
data GenerateWeightsSpec = GenerateWeightsSpec with
  weightingDates : [Date]
    deriving (Eq, Ord, Show)

-- | Function definition for GenerateWeights
generateWeightsFunc : (GenerateWeightsSpec -> [Decimal]) -> GenerateWeightsSpec -> [Decimal]
generateWeightsFunc impl spec = impl spec

-- | Function argument object definition for
--   GetAllBusinessCenters
data GetAllBusinessCentersSpec = GetAllBusinessCentersSpec with
  businessCenters : BusinessCenters
    deriving (Eq, Ord, Show)

-- | Function definition for GetAllBusinessCenters
getAllBusinessCentersFunc : (GetAllBusinessCentersSpec -> [BusinessCenterEnum]) -> GetAllBusinessCentersSpec -> [BusinessCenterEnum]
getAllBusinessCentersFunc impl spec = impl spec

-- | Function argument object definition for
--   GetCalculatedFROCalculationParameters
data GetCalculatedFROCalculationParametersSpec = GetCalculatedFROCalculationParametersSpec with
  resetDates : ResetDates
  calcMethod : CalculationMethodEnum
    deriving (Eq, Ord, Show)

-- | Function definition for
--   GetCalculatedFROCalculationParameters
getCalculatedFROCalculationParametersFunc : (GetCalculatedFROCalculationParametersSpec -> FloatingRateCalculationParameters) -> GetCalculatedFROCalculationParametersSpec -> FloatingRateCalculationParameters
getCalculatedFROCalculationParametersFunc impl spec = impl spec

-- | Function argument object definition for
--   GetCashCurrency
data GetCashCurrencySpec = GetCashCurrencySpec with
  cash : Cash
    deriving (Eq, Ord, Show)

-- | Function definition for GetCashCurrency
getCashCurrencyFunc : (GetCashCurrencySpec -> CurrencyCodeEnum) -> GetCashCurrencySpec -> CurrencyCodeEnum
getCashCurrencyFunc impl spec = impl spec

-- | Function argument object definition for GetFixedRate
data GetFixedRateSpec = GetFixedRateSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for GetFixedRate
getFixedRateFunc : (GetFixedRateSpec -> Optional Decimal) -> GetFixedRateSpec -> Optional Decimal
getFixedRateFunc impl spec = impl spec

-- | Function argument object definition for
--   GetFloatingRateProcessingParameters
data GetFloatingRateProcessingParametersSpec = GetFloatingRateProcessingParametersSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for
--   GetFloatingRateProcessingParameters
getFloatingRateProcessingParametersFunc : (GetFloatingRateProcessingParametersSpec -> FloatingRateProcessingParameters) -> GetFloatingRateProcessingParametersSpec -> FloatingRateProcessingParameters
getFloatingRateProcessingParametersFunc impl spec = impl spec

-- | Function argument object definition for
--   GetFloatingRateProcessingType
data GetFloatingRateProcessingTypeSpec = GetFloatingRateProcessingTypeSpec with
  rateDef : FloatingRateSpecification
    deriving (Eq, Ord, Show)

-- | Function definition for GetFloatingRateProcessingType
getFloatingRateProcessingTypeFunc : (GetFloatingRateProcessingTypeSpec -> FloatingRateIndexProcessingTypeEnum) -> GetFloatingRateProcessingTypeSpec -> FloatingRateIndexProcessingTypeEnum
getFloatingRateProcessingTypeFunc impl spec = impl spec

-- | Function argument object definition for
--   GetNotionalAmount
data GetNotionalAmountSpec = GetNotionalAmountSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for GetNotionalAmount
getNotionalAmountFunc : (GetNotionalAmountSpec -> Money) -> GetNotionalAmountSpec -> Money
getNotionalAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   GetQuantityScheduleStepValues
data GetQuantityScheduleStepValuesSpec = GetQuantityScheduleStepValuesSpec with
  schedule : NonNegativeQuantitySchedule
  periodStartDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for GetQuantityScheduleStepValues
getQuantityScheduleStepValuesFunc : (GetQuantityScheduleStepValuesSpec -> [Decimal]) -> GetQuantityScheduleStepValuesSpec -> [Decimal]
getQuantityScheduleStepValuesFunc impl spec = impl spec

-- | Function argument object definition for
--   GetRateScheduleAmount
data GetRateScheduleAmountSpec = GetRateScheduleAmountSpec with
  schedule : RateSchedule
  periodStartDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for GetRateScheduleAmount
getRateScheduleAmountFunc : (GetRateScheduleAmountSpec -> Decimal) -> GetRateScheduleAmountSpec -> Decimal
getRateScheduleAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   GetRateScheduleStepValues
data GetRateScheduleStepValuesSpec = GetRateScheduleStepValuesSpec with
  schedule : RateSchedule
  periodStartDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for GetRateScheduleStepValues
getRateScheduleStepValuesFunc : (GetRateScheduleStepValuesSpec -> [Decimal]) -> GetRateScheduleStepValuesSpec -> [Decimal]
getRateScheduleStepValuesFunc impl spec = impl spec

-- | Function argument object definition for
--   IndexValueObservation
data IndexValueObservationSpec = IndexValueObservationSpec with
  observationDate : Date
  floatingRateOption : FloatingRateOption
    deriving (Eq, Ord, Show)

-- | Function definition for IndexValueObservation
indexValueObservationFunc : (IndexValueObservationSpec -> Decimal) -> IndexValueObservationSpec -> Decimal
indexValueObservationFunc impl spec = impl spec

-- | Function argument object definition for
--   IndexValueObservationMultiple
data IndexValueObservationMultipleSpec = IndexValueObservationMultipleSpec with
  observationDate : [Date]
  floatingRateOption : FloatingRateOption
    deriving (Eq, Ord, Show)

-- | Function definition for IndexValueObservationMultiple
indexValueObservationMultipleFunc : (IndexValueObservationMultipleSpec -> [Decimal]) -> IndexValueObservationMultipleSpec -> [Decimal]
indexValueObservationMultipleFunc impl spec = impl spec

-- | Function argument object definition for
--   InterestCashSettlementAmount
data InterestCashSettlementAmountSpec = InterestCashSettlementAmountSpec with
  tradeState : TradeState
  interestRatePayout : InterestRatePayout
  resets : [Reset]
  date : Date
    deriving (Eq, Ord, Show)

-- | Function definition for InterestCashSettlementAmount
interestCashSettlementAmountFunc : (InterestCashSettlementAmountSpec -> Transfer) -> InterestCashSettlementAmountSpec -> Transfer
interestCashSettlementAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   InterestRatePayoutCurrency
data InterestRatePayoutCurrencySpec = InterestRatePayoutCurrencySpec with
  interestRatePayouts : [InterestRatePayout]
    deriving (Eq, Ord, Show)

-- | Function definition for InterestRatePayoutCurrency
interestRatePayoutCurrencyFunc : (InterestRatePayoutCurrencySpec -> [Text]) -> InterestRatePayoutCurrencySpec -> [Text]
interestRatePayoutCurrencyFunc impl spec = impl spec

-- | Function argument object definition for
--   InterpolateForwardRate
data InterpolateForwardRateSpec = InterpolateForwardRateSpec with
  forward : ForwardPayout
    deriving (Eq, Ord, Show)

-- | Function definition for InterpolateForwardRate
interpolateForwardRateFunc : (InterpolateForwardRateSpec -> Decimal) -> InterpolateForwardRateSpec -> Decimal
interpolateForwardRateFunc impl spec = impl spec

-- | Function argument object definition for IsBusinessDay
data IsBusinessDaySpec = IsBusinessDaySpec with
  date : Date
  businessCenters : [BusinessCenterEnum]
    deriving (Eq, Ord, Show)

-- | Function definition for IsBusinessDay
isBusinessDayFunc : (IsBusinessDaySpec -> Bool) -> IsBusinessDaySpec -> Bool
isBusinessDayFunc impl spec = impl spec

-- | Function argument object definition for IsHoliday
data IsHolidaySpec = IsHolidaySpec with
  checkDate : Date
  businessCenters : [BusinessCenterEnum]
    deriving (Eq, Ord, Show)

-- | Function definition for IsHoliday
isHolidayFunc : (IsHolidaySpec -> Bool) -> IsHolidaySpec -> Bool
isHolidayFunc impl spec = impl spec

-- | Function argument object definition for
--   IsValidPartyRole
data IsValidPartyRoleSpec = IsValidPartyRoleSpec with
  partyRoles : [PartyRole]
  validRoles : [PartyRoleEnum]
    deriving (Eq, Ord, Show)

-- | Function definition for IsValidPartyRole
isValidPartyRoleFunc : (IsValidPartyRoleSpec -> Bool) -> IsValidPartyRoleSpec -> Bool
isValidPartyRoleFunc impl spec = impl spec

-- | Function argument object definition for IsWeekend
data IsWeekendSpec = IsWeekendSpec with
  date : Date
  businessCenters : [BusinessCenterEnum]
    deriving (Eq, Ord, Show)

-- | Function definition for IsWeekend
isWeekendFunc : (IsWeekendSpec -> Bool) -> IsWeekendSpec -> Bool
isWeekendFunc impl spec = impl spec

-- | Function argument object definition for
--   LeapYearDateDifference
data LeapYearDateDifferenceSpec = LeapYearDateDifferenceSpec with
  firstDate : Date
  secondDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for LeapYearDateDifference
leapYearDateDifferenceFunc : (LeapYearDateDifferenceSpec -> Int) -> LeapYearDateDifferenceSpec -> Int
leapYearDateDifferenceFunc impl spec = impl spec

-- | Function argument object definition for
--   MapGenericProductToForwardPayout
data MapGenericProductToForwardPayoutSpec = MapGenericProductToForwardPayoutSpec with
  synonymPath : Text
  modelPath : Text
  productType : [Text]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   MapGenericProductToForwardPayout
mapGenericProductToForwardPayoutFunc : (MapGenericProductToForwardPayoutSpec -> Bool) -> MapGenericProductToForwardPayoutSpec -> Bool
mapGenericProductToForwardPayoutFunc impl spec = impl spec

-- | Function argument object definition for Max
data MaxSpec = MaxSpec with
  a : Decimal
  b : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for Max
maxFunc : (MaxSpec -> Decimal) -> MaxSpec -> Decimal
maxFunc impl spec = impl spec

-- | Function argument object definition for
--   MergeEligibleCollateralCriteria
data MergeEligibleCollateralCriteriaSpec = MergeEligibleCollateralCriteriaSpec with
  criteria1 : EligibleCollateralCriteria
  criteria2 : EligibleCollateralCriteria
    deriving (Eq, Ord, Show)

-- | Function definition for
--   MergeEligibleCollateralCriteria
mergeEligibleCollateralCriteriaFunc : (MergeEligibleCollateralCriteriaSpec -> EligibleCollateralCriteria) -> MergeEligibleCollateralCriteriaSpec -> EligibleCollateralCriteria
mergeEligibleCollateralCriteriaFunc impl spec = impl spec

-- | Function argument object definition for Min
data MinSpec = MinSpec with
  a : Decimal
  b : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for Min
minFunc : (MinSpec -> Decimal) -> MinSpec -> Decimal
minFunc impl spec = impl spec

-- | Function argument object definition for
--   MultiplierAmount
data MultiplierAmountSpec = MultiplierAmountSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for MultiplierAmount
multiplierAmountFunc : (MultiplierAmountSpec -> Optional Decimal) -> MultiplierAmountSpec -> Optional Decimal
multiplierAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   NewEquitySwapProduct
data NewEquitySwapProductSpec = NewEquitySwapProductSpec with
  security : Security
  masterConfirmation : Optional EquitySwapMasterConfirmation2018
    deriving (Eq, Ord, Show)

-- | Function definition for NewEquitySwapProduct
newEquitySwapProductFunc : (NewEquitySwapProductSpec -> Product) -> NewEquitySwapProductSpec -> Product
newEquitySwapProductFunc impl spec = impl spec

-- | Function argument object definition for
--   NewFloatingPayout
data NewFloatingPayoutSpec = NewFloatingPayoutSpec with
  masterConfirmation : Optional EquitySwapMasterConfirmation2018
    deriving (Eq, Ord, Show)

-- | Function definition for NewFloatingPayout
newFloatingPayoutFunc : (NewFloatingPayoutSpec -> InterestRatePayout) -> NewFloatingPayoutSpec -> InterestRatePayout
newFloatingPayoutFunc impl spec = impl spec

-- | Function argument object definition for
--   NewSingleNameEquityPerformancePayout
data NewSingleNameEquityPerformancePayoutSpec = NewSingleNameEquityPerformancePayoutSpec with
  security : Security
  masterConfirmation : Optional EquitySwapMasterConfirmation2018
    deriving (Eq, Ord, Show)

-- | Function definition for
--   NewSingleNameEquityPerformancePayout
newSingleNameEquityPerformancePayoutFunc : (NewSingleNameEquityPerformancePayoutSpec -> PerformancePayout) -> NewSingleNameEquityPerformancePayoutSpec -> PerformancePayout
newSingleNameEquityPerformancePayoutFunc impl spec = impl spec

-- | Function argument object definition for
--   NewTradeInstructionOnlyExists
data NewTradeInstructionOnlyExistsSpec = NewTradeInstructionOnlyExistsSpec with
  primitiveInstruction : PrimitiveInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for NewTradeInstructionOnlyExists
newTradeInstructionOnlyExistsFunc : (NewTradeInstructionOnlyExistsSpec -> Bool) -> NewTradeInstructionOnlyExistsSpec -> Bool
newTradeInstructionOnlyExistsFunc impl spec = impl spec

-- | Function argument object definition for Now
data NowSpec = NowSpec with
    deriving (Eq, Ord, Show)

-- | Function definition for Now
nowFunc : (NowSpec -> ZonedDateTime) -> NowSpec -> ZonedDateTime
nowFunc impl spec = impl spec

-- | Function argument object definition for PaymentDate
data PaymentDateSpec = PaymentDateSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for PaymentDate
paymentDateFunc : (PaymentDateSpec -> Optional Date) -> PaymentDateSpec -> Optional Date
paymentDateFunc impl spec = impl spec

-- | Function argument object definition for PeriodsInYear
data PeriodsInYearSpec = PeriodsInYearSpec with
  frequency : CalculationPeriodFrequency
    deriving (Eq, Ord, Show)

-- | Function definition for PeriodsInYear
periodsInYearFunc : (PeriodsInYearSpec -> Int) -> PeriodsInYearSpec -> Int
periodsInYearFunc impl spec = impl spec

-- | Function argument object definition for
--   PopOffDateList
data PopOffDateListSpec = PopOffDateListSpec with
  dates : [Date]
    deriving (Eq, Ord, Show)

-- | Function definition for PopOffDateList
popOffDateListFunc : (PopOffDateListSpec -> [Date]) -> PopOffDateListSpec -> [Date]
popOffDateListFunc impl spec = impl spec

-- | Function argument object definition for
--   PriceQuantityTriangulation
data PriceQuantityTriangulationSpec = PriceQuantityTriangulationSpec with
  tradeLots : [TradeLot]
    deriving (Eq, Ord, Show)

-- | Function definition for PriceQuantityTriangulation
priceQuantityTriangulationFunc : (PriceQuantityTriangulationSpec -> Bool) -> PriceQuantityTriangulationSpec -> Bool
priceQuantityTriangulationFunc impl spec = impl spec

-- | Function argument object definition for
--   ProcessFloatingRateReset
data ProcessFloatingRateResetSpec = ProcessFloatingRateResetSpec with
  interestRatePayout : InterestRatePayout
  calcPeriod : CalculationPeriodBase
  processingType : FloatingRateIndexProcessingTypeEnum
    deriving (Eq, Ord, Show)

-- | Function definition for ProcessFloatingRateReset
processFloatingRateResetFunc : (ProcessFloatingRateResetSpec -> FloatingRateSettingDetails) -> ProcessFloatingRateResetSpec -> FloatingRateSettingDetails
processFloatingRateResetFunc impl spec = impl spec






-- | Function argument object definition for
--   ProcessObservations
data ProcessObservationsSpec = ProcessObservationsSpec with
  calculationParameters : FloatingRateCalculationParameters
  rawObservations : [Decimal]
    deriving (Eq, Ord, Show)

-- | Function definition for ProcessObservations
processObservationsFunc : (ProcessObservationsSpec -> [Decimal]) -> ProcessObservationsSpec -> [Decimal]
processObservationsFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Adjustment
data Qualify_AdjustmentSpec = Qualify_AdjustmentSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Adjustment
qualify_AdjustmentFunc : (Qualify_AdjustmentSpec -> Bool) -> Qualify_AdjustmentSpec -> Bool
qualify_AdjustmentFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Allocation
data Qualify_AllocationSpec = Qualify_AllocationSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Allocation
qualify_AllocationFunc : (Qualify_AllocationSpec -> Bool) -> Qualify_AllocationSpec -> Bool
qualify_AllocationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_AssetClass_Commodity
data Qualify_AssetClass_CommoditySpec = Qualify_AssetClass_CommoditySpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_AssetClass_Commodity
qualify_AssetClass_CommodityFunc : (Qualify_AssetClass_CommoditySpec -> Bool) -> Qualify_AssetClass_CommoditySpec -> Bool
qualify_AssetClass_CommodityFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_AssetClass_Credit
data Qualify_AssetClass_CreditSpec = Qualify_AssetClass_CreditSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_AssetClass_Credit
qualify_AssetClass_CreditFunc : (Qualify_AssetClass_CreditSpec -> Bool) -> Qualify_AssetClass_CreditSpec -> Bool
qualify_AssetClass_CreditFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_AssetClass_Equity
data Qualify_AssetClass_EquitySpec = Qualify_AssetClass_EquitySpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_AssetClass_Equity
qualify_AssetClass_EquityFunc : (Qualify_AssetClass_EquitySpec -> Bool) -> Qualify_AssetClass_EquitySpec -> Bool
qualify_AssetClass_EquityFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_AssetClass_ForeignExchange
data Qualify_AssetClass_ForeignExchangeSpec = Qualify_AssetClass_ForeignExchangeSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_AssetClass_ForeignExchange
qualify_AssetClass_ForeignExchangeFunc : (Qualify_AssetClass_ForeignExchangeSpec -> Bool) -> Qualify_AssetClass_ForeignExchangeSpec -> Bool
qualify_AssetClass_ForeignExchangeFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_AssetClass_InterestRate
data Qualify_AssetClass_InterestRateSpec = Qualify_AssetClass_InterestRateSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_AssetClass_InterestRate
qualify_AssetClass_InterestRateFunc : (Qualify_AssetClass_InterestRateSpec -> Bool) -> Qualify_AssetClass_InterestRateSpec -> Bool
qualify_AssetClass_InterestRateFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_BaseProduct_CrossCurrency
data Qualify_BaseProduct_CrossCurrencySpec = Qualify_BaseProduct_CrossCurrencySpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_BaseProduct_CrossCurrency
qualify_BaseProduct_CrossCurrencyFunc : (Qualify_BaseProduct_CrossCurrencySpec -> Bool) -> Qualify_BaseProduct_CrossCurrencySpec -> Bool
qualify_BaseProduct_CrossCurrencyFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_BaseProduct_EquityForward
data Qualify_BaseProduct_EquityForwardSpec = Qualify_BaseProduct_EquityForwardSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_BaseProduct_EquityForward
qualify_BaseProduct_EquityForwardFunc : (Qualify_BaseProduct_EquityForwardSpec -> Bool) -> Qualify_BaseProduct_EquityForwardSpec -> Bool
qualify_BaseProduct_EquityForwardFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_BaseProduct_EquitySwap
data Qualify_BaseProduct_EquitySwapSpec = Qualify_BaseProduct_EquitySwapSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_BaseProduct_EquitySwap
qualify_BaseProduct_EquitySwapFunc : (Qualify_BaseProduct_EquitySwapSpec -> Bool) -> Qualify_BaseProduct_EquitySwapSpec -> Bool
qualify_BaseProduct_EquitySwapFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_BaseProduct_Fra
data Qualify_BaseProduct_FraSpec = Qualify_BaseProduct_FraSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_BaseProduct_Fra
qualify_BaseProduct_FraFunc : (Qualify_BaseProduct_FraSpec -> Bool) -> Qualify_BaseProduct_FraSpec -> Bool
qualify_BaseProduct_FraFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_BaseProduct_IRSwap
data Qualify_BaseProduct_IRSwapSpec = Qualify_BaseProduct_IRSwapSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_BaseProduct_IRSwap
qualify_BaseProduct_IRSwapFunc : (Qualify_BaseProduct_IRSwapSpec -> Bool) -> Qualify_BaseProduct_IRSwapSpec -> Bool
qualify_BaseProduct_IRSwapFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_BaseProduct_Inflation
data Qualify_BaseProduct_InflationSpec = Qualify_BaseProduct_InflationSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_BaseProduct_Inflation
qualify_BaseProduct_InflationFunc : (Qualify_BaseProduct_InflationSpec -> Bool) -> Qualify_BaseProduct_InflationSpec -> Bool
qualify_BaseProduct_InflationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Cancellation
data Qualify_CancellationSpec = Qualify_CancellationSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Cancellation
qualify_CancellationFunc : (Qualify_CancellationSpec -> Bool) -> Qualify_CancellationSpec -> Bool
qualify_CancellationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CashAndSecurityTransfer
data Qualify_CashAndSecurityTransferSpec = Qualify_CashAndSecurityTransferSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_CashAndSecurityTransfer
qualify_CashAndSecurityTransferFunc : (Qualify_CashAndSecurityTransferSpec -> Bool) -> Qualify_CashAndSecurityTransferSpec -> Bool
qualify_CashAndSecurityTransferFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CashTransfer
data Qualify_CashTransferSpec = Qualify_CashTransferSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_CashTransfer
qualify_CashTransferFunc : (Qualify_CashTransferSpec -> Bool) -> Qualify_CashTransferSpec -> Bool
qualify_CashTransferFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ClearedTrade
data Qualify_ClearedTradeSpec = Qualify_ClearedTradeSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_ClearedTrade
qualify_ClearedTradeFunc : (Qualify_ClearedTradeSpec -> Bool) -> Qualify_ClearedTradeSpec -> Bool
qualify_ClearedTradeFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Commodity_Forward
data Qualify_Commodity_ForwardSpec = Qualify_Commodity_ForwardSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Commodity_Forward
qualify_Commodity_ForwardFunc : (Qualify_Commodity_ForwardSpec -> Bool) -> Qualify_Commodity_ForwardSpec -> Bool
qualify_Commodity_ForwardFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Commodity_Option
data Qualify_Commodity_OptionSpec = Qualify_Commodity_OptionSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Commodity_Option
qualify_Commodity_OptionFunc : (Qualify_Commodity_OptionSpec -> Bool) -> Qualify_Commodity_OptionSpec -> Bool
qualify_Commodity_OptionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Commodity_Option_Cash
data Qualify_Commodity_Option_CashSpec = Qualify_Commodity_Option_CashSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Commodity_Option_Cash
qualify_Commodity_Option_CashFunc : (Qualify_Commodity_Option_CashSpec -> Bool) -> Qualify_Commodity_Option_CashSpec -> Bool
qualify_Commodity_Option_CashFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Commodity_Option_Physical
data Qualify_Commodity_Option_PhysicalSpec = Qualify_Commodity_Option_PhysicalSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_Commodity_Option_Physical
qualify_Commodity_Option_PhysicalFunc : (Qualify_Commodity_Option_PhysicalSpec -> Bool) -> Qualify_Commodity_Option_PhysicalSpec -> Bool
qualify_Commodity_Option_PhysicalFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Commodity_Swap_Basis
data Qualify_Commodity_Swap_BasisSpec = Qualify_Commodity_Swap_BasisSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Commodity_Swap_Basis
qualify_Commodity_Swap_BasisFunc : (Qualify_Commodity_Swap_BasisSpec -> Bool) -> Qualify_Commodity_Swap_BasisSpec -> Bool
qualify_Commodity_Swap_BasisFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Commodity_Swap_FixedFloat
data Qualify_Commodity_Swap_FixedFloatSpec = Qualify_Commodity_Swap_FixedFloatSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_Commodity_Swap_FixedFloat
qualify_Commodity_Swap_FixedFloatFunc : (Qualify_Commodity_Swap_FixedFloatSpec -> Bool) -> Qualify_Commodity_Swap_FixedFloatSpec -> Bool
qualify_Commodity_Swap_FixedFloatFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Commodity_Swaption
data Qualify_Commodity_SwaptionSpec = Qualify_Commodity_SwaptionSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Commodity_Swaption
qualify_Commodity_SwaptionFunc : (Qualify_Commodity_SwaptionSpec -> Bool) -> Qualify_Commodity_SwaptionSpec -> Bool
qualify_Commodity_SwaptionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Compression
data Qualify_CompressionSpec = Qualify_CompressionSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Compression
qualify_CompressionFunc : (Qualify_CompressionSpec -> Bool) -> Qualify_CompressionSpec -> Bool
qualify_CompressionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ContractFormation
data Qualify_ContractFormationSpec = Qualify_ContractFormationSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_ContractFormation
qualify_ContractFormationFunc : (Qualify_ContractFormationSpec -> Bool) -> Qualify_ContractFormationSpec -> Bool
qualify_ContractFormationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CorporateActionDetermined
data Qualify_CorporateActionDeterminedSpec = Qualify_CorporateActionDeterminedSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_CorporateActionDetermined
qualify_CorporateActionDeterminedFunc : (Qualify_CorporateActionDeterminedSpec -> Bool) -> Qualify_CorporateActionDeterminedSpec -> Bool
qualify_CorporateActionDeterminedFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CreditDefaultSwap_Basket
data Qualify_CreditDefaultSwap_BasketSpec = Qualify_CreditDefaultSwap_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_CreditDefaultSwap_Basket
qualify_CreditDefaultSwap_BasketFunc : (Qualify_CreditDefaultSwap_BasketSpec -> Bool) -> Qualify_CreditDefaultSwap_BasketSpec -> Bool
qualify_CreditDefaultSwap_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CreditDefaultSwap_Index
data Qualify_CreditDefaultSwap_IndexSpec = Qualify_CreditDefaultSwap_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_CreditDefaultSwap_Index
qualify_CreditDefaultSwap_IndexFunc : (Qualify_CreditDefaultSwap_IndexSpec -> Bool) -> Qualify_CreditDefaultSwap_IndexSpec -> Bool
qualify_CreditDefaultSwap_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CreditDefaultSwap_IndexTranche
data Qualify_CreditDefaultSwap_IndexTrancheSpec = Qualify_CreditDefaultSwap_IndexTrancheSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_CreditDefaultSwap_IndexTranche
qualify_CreditDefaultSwap_IndexTrancheFunc : (Qualify_CreditDefaultSwap_IndexTrancheSpec -> Bool) -> Qualify_CreditDefaultSwap_IndexTrancheSpec -> Bool
qualify_CreditDefaultSwap_IndexTrancheFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CreditDefaultSwap_Loan
data Qualify_CreditDefaultSwap_LoanSpec = Qualify_CreditDefaultSwap_LoanSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_CreditDefaultSwap_Loan
qualify_CreditDefaultSwap_LoanFunc : (Qualify_CreditDefaultSwap_LoanSpec -> Bool) -> Qualify_CreditDefaultSwap_LoanSpec -> Bool
qualify_CreditDefaultSwap_LoanFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CreditDefaultSwap_SingleName
data Qualify_CreditDefaultSwap_SingleNameSpec = Qualify_CreditDefaultSwap_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_CreditDefaultSwap_SingleName
qualify_CreditDefaultSwap_SingleNameFunc : (Qualify_CreditDefaultSwap_SingleNameSpec -> Bool) -> Qualify_CreditDefaultSwap_SingleNameSpec -> Bool
qualify_CreditDefaultSwap_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CreditDefaultSwaption
data Qualify_CreditDefaultSwaptionSpec = Qualify_CreditDefaultSwaptionSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_CreditDefaultSwaption
qualify_CreditDefaultSwaptionFunc : (Qualify_CreditDefaultSwaptionSpec -> Bool) -> Qualify_CreditDefaultSwaptionSpec -> Bool
qualify_CreditDefaultSwaptionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_CreditEventDetermined
data Qualify_CreditEventDeterminedSpec = Qualify_CreditEventDeterminedSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_CreditEventDetermined
qualify_CreditEventDeterminedFunc : (Qualify_CreditEventDeterminedSpec -> Bool) -> Qualify_CreditEventDeterminedSpec -> Bool
qualify_CreditEventDeterminedFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnCorrelation_Basket
data Qualify_EquityOption_ParameterReturnCorrelation_BasketSpec = Qualify_EquityOption_ParameterReturnCorrelation_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnCorrelation_Basket
qualify_EquityOption_ParameterReturnCorrelation_BasketFunc : (Qualify_EquityOption_ParameterReturnCorrelation_BasketSpec -> Bool) -> Qualify_EquityOption_ParameterReturnCorrelation_BasketSpec -> Bool
qualify_EquityOption_ParameterReturnCorrelation_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnDividend_Basket
data Qualify_EquityOption_ParameterReturnDividend_BasketSpec = Qualify_EquityOption_ParameterReturnDividend_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnDividend_Basket
qualify_EquityOption_ParameterReturnDividend_BasketFunc : (Qualify_EquityOption_ParameterReturnDividend_BasketSpec -> Bool) -> Qualify_EquityOption_ParameterReturnDividend_BasketSpec -> Bool
qualify_EquityOption_ParameterReturnDividend_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnDividend_Index
data Qualify_EquityOption_ParameterReturnDividend_IndexSpec = Qualify_EquityOption_ParameterReturnDividend_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnDividend_Index
qualify_EquityOption_ParameterReturnDividend_IndexFunc : (Qualify_EquityOption_ParameterReturnDividend_IndexSpec -> Bool) -> Qualify_EquityOption_ParameterReturnDividend_IndexSpec -> Bool
qualify_EquityOption_ParameterReturnDividend_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnDividend_SingleName
data Qualify_EquityOption_ParameterReturnDividend_SingleNameSpec = Qualify_EquityOption_ParameterReturnDividend_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnDividend_SingleName
qualify_EquityOption_ParameterReturnDividend_SingleNameFunc : (Qualify_EquityOption_ParameterReturnDividend_SingleNameSpec -> Bool) -> Qualify_EquityOption_ParameterReturnDividend_SingleNameSpec -> Bool
qualify_EquityOption_ParameterReturnDividend_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnVariance_Basket
data Qualify_EquityOption_ParameterReturnVariance_BasketSpec = Qualify_EquityOption_ParameterReturnVariance_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnVariance_Basket
qualify_EquityOption_ParameterReturnVariance_BasketFunc : (Qualify_EquityOption_ParameterReturnVariance_BasketSpec -> Bool) -> Qualify_EquityOption_ParameterReturnVariance_BasketSpec -> Bool
qualify_EquityOption_ParameterReturnVariance_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnVariance_Index
data Qualify_EquityOption_ParameterReturnVariance_IndexSpec = Qualify_EquityOption_ParameterReturnVariance_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnVariance_Index
qualify_EquityOption_ParameterReturnVariance_IndexFunc : (Qualify_EquityOption_ParameterReturnVariance_IndexSpec -> Bool) -> Qualify_EquityOption_ParameterReturnVariance_IndexSpec -> Bool
qualify_EquityOption_ParameterReturnVariance_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnVariance_SingleName
data Qualify_EquityOption_ParameterReturnVariance_SingleNameSpec = Qualify_EquityOption_ParameterReturnVariance_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnVariance_SingleName
qualify_EquityOption_ParameterReturnVariance_SingleNameFunc : (Qualify_EquityOption_ParameterReturnVariance_SingleNameSpec -> Bool) -> Qualify_EquityOption_ParameterReturnVariance_SingleNameSpec -> Bool
qualify_EquityOption_ParameterReturnVariance_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnVolatility_Basket
data Qualify_EquityOption_ParameterReturnVolatility_BasketSpec = Qualify_EquityOption_ParameterReturnVolatility_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnVolatility_Basket
qualify_EquityOption_ParameterReturnVolatility_BasketFunc : (Qualify_EquityOption_ParameterReturnVolatility_BasketSpec -> Bool) -> Qualify_EquityOption_ParameterReturnVolatility_BasketSpec -> Bool
qualify_EquityOption_ParameterReturnVolatility_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnVolatility_Index
data Qualify_EquityOption_ParameterReturnVolatility_IndexSpec = Qualify_EquityOption_ParameterReturnVolatility_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnVolatility_Index
qualify_EquityOption_ParameterReturnVolatility_IndexFunc : (Qualify_EquityOption_ParameterReturnVolatility_IndexSpec -> Bool) -> Qualify_EquityOption_ParameterReturnVolatility_IndexSpec -> Bool
qualify_EquityOption_ParameterReturnVolatility_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_ParameterReturnVolatility_SingleName
data Qualify_EquityOption_ParameterReturnVolatility_SingleNameSpec = Qualify_EquityOption_ParameterReturnVolatility_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_ParameterReturnVolatility_SingleName
qualify_EquityOption_ParameterReturnVolatility_SingleNameFunc : (Qualify_EquityOption_ParameterReturnVolatility_SingleNameSpec -> Bool) -> Qualify_EquityOption_ParameterReturnVolatility_SingleNameSpec -> Bool
qualify_EquityOption_ParameterReturnVolatility_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_PriceReturnBasicPerformance_Basket
data Qualify_EquityOption_PriceReturnBasicPerformance_BasketSpec = Qualify_EquityOption_PriceReturnBasicPerformance_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_PriceReturnBasicPerformance_Basket
qualify_EquityOption_PriceReturnBasicPerformance_BasketFunc : (Qualify_EquityOption_PriceReturnBasicPerformance_BasketSpec -> Bool) -> Qualify_EquityOption_PriceReturnBasicPerformance_BasketSpec -> Bool
qualify_EquityOption_PriceReturnBasicPerformance_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_PriceReturnBasicPerformance_Index
data Qualify_EquityOption_PriceReturnBasicPerformance_IndexSpec = Qualify_EquityOption_PriceReturnBasicPerformance_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_PriceReturnBasicPerformance_Index
qualify_EquityOption_PriceReturnBasicPerformance_IndexFunc : (Qualify_EquityOption_PriceReturnBasicPerformance_IndexSpec -> Bool) -> Qualify_EquityOption_PriceReturnBasicPerformance_IndexSpec -> Bool
qualify_EquityOption_PriceReturnBasicPerformance_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquityOption_PriceReturnBasicPerformance_SingleName
data Qualify_EquityOption_PriceReturnBasicPerformance_SingleNameSpec = Qualify_EquityOption_PriceReturnBasicPerformance_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquityOption_PriceReturnBasicPerformance_SingleName
qualify_EquityOption_PriceReturnBasicPerformance_SingleNameFunc : (Qualify_EquityOption_PriceReturnBasicPerformance_SingleNameSpec -> Bool) -> Qualify_EquityOption_PriceReturnBasicPerformance_SingleNameSpec -> Bool
qualify_EquityOption_PriceReturnBasicPerformance_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnCorrelation_Basket
data Qualify_EquitySwap_ParameterReturnCorrelation_BasketSpec = Qualify_EquitySwap_ParameterReturnCorrelation_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnCorrelation_Basket
qualify_EquitySwap_ParameterReturnCorrelation_BasketFunc : (Qualify_EquitySwap_ParameterReturnCorrelation_BasketSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnCorrelation_BasketSpec -> Bool
qualify_EquitySwap_ParameterReturnCorrelation_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnDispersion
data Qualify_EquitySwap_ParameterReturnDispersionSpec = Qualify_EquitySwap_ParameterReturnDispersionSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnDispersion
qualify_EquitySwap_ParameterReturnDispersionFunc : (Qualify_EquitySwap_ParameterReturnDispersionSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnDispersionSpec -> Bool
qualify_EquitySwap_ParameterReturnDispersionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnDividend_Basket
data Qualify_EquitySwap_ParameterReturnDividend_BasketSpec = Qualify_EquitySwap_ParameterReturnDividend_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnDividend_Basket
qualify_EquitySwap_ParameterReturnDividend_BasketFunc : (Qualify_EquitySwap_ParameterReturnDividend_BasketSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnDividend_BasketSpec -> Bool
qualify_EquitySwap_ParameterReturnDividend_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnDividend_Index
data Qualify_EquitySwap_ParameterReturnDividend_IndexSpec = Qualify_EquitySwap_ParameterReturnDividend_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnDividend_Index
qualify_EquitySwap_ParameterReturnDividend_IndexFunc : (Qualify_EquitySwap_ParameterReturnDividend_IndexSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnDividend_IndexSpec -> Bool
qualify_EquitySwap_ParameterReturnDividend_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnDividend_SingleName
data Qualify_EquitySwap_ParameterReturnDividend_SingleNameSpec = Qualify_EquitySwap_ParameterReturnDividend_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnDividend_SingleName
qualify_EquitySwap_ParameterReturnDividend_SingleNameFunc : (Qualify_EquitySwap_ParameterReturnDividend_SingleNameSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnDividend_SingleNameSpec -> Bool
qualify_EquitySwap_ParameterReturnDividend_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnVariance_Basket
data Qualify_EquitySwap_ParameterReturnVariance_BasketSpec = Qualify_EquitySwap_ParameterReturnVariance_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnVariance_Basket
qualify_EquitySwap_ParameterReturnVariance_BasketFunc : (Qualify_EquitySwap_ParameterReturnVariance_BasketSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnVariance_BasketSpec -> Bool
qualify_EquitySwap_ParameterReturnVariance_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnVariance_Index
data Qualify_EquitySwap_ParameterReturnVariance_IndexSpec = Qualify_EquitySwap_ParameterReturnVariance_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnVariance_Index
qualify_EquitySwap_ParameterReturnVariance_IndexFunc : (Qualify_EquitySwap_ParameterReturnVariance_IndexSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnVariance_IndexSpec -> Bool
qualify_EquitySwap_ParameterReturnVariance_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnVariance_SingleName
data Qualify_EquitySwap_ParameterReturnVariance_SingleNameSpec = Qualify_EquitySwap_ParameterReturnVariance_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnVariance_SingleName
qualify_EquitySwap_ParameterReturnVariance_SingleNameFunc : (Qualify_EquitySwap_ParameterReturnVariance_SingleNameSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnVariance_SingleNameSpec -> Bool
qualify_EquitySwap_ParameterReturnVariance_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnVolatility_Basket
data Qualify_EquitySwap_ParameterReturnVolatility_BasketSpec = Qualify_EquitySwap_ParameterReturnVolatility_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnVolatility_Basket
qualify_EquitySwap_ParameterReturnVolatility_BasketFunc : (Qualify_EquitySwap_ParameterReturnVolatility_BasketSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnVolatility_BasketSpec -> Bool
qualify_EquitySwap_ParameterReturnVolatility_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnVolatility_Index
data Qualify_EquitySwap_ParameterReturnVolatility_IndexSpec = Qualify_EquitySwap_ParameterReturnVolatility_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnVolatility_Index
qualify_EquitySwap_ParameterReturnVolatility_IndexFunc : (Qualify_EquitySwap_ParameterReturnVolatility_IndexSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnVolatility_IndexSpec -> Bool
qualify_EquitySwap_ParameterReturnVolatility_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_ParameterReturnVolatility_SingleName
data Qualify_EquitySwap_ParameterReturnVolatility_SingleNameSpec = Qualify_EquitySwap_ParameterReturnVolatility_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_ParameterReturnVolatility_SingleName
qualify_EquitySwap_ParameterReturnVolatility_SingleNameFunc : (Qualify_EquitySwap_ParameterReturnVolatility_SingleNameSpec -> Bool) -> Qualify_EquitySwap_ParameterReturnVolatility_SingleNameSpec -> Bool
qualify_EquitySwap_ParameterReturnVolatility_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_PriceReturnBasicPerformance_Basket
data Qualify_EquitySwap_PriceReturnBasicPerformance_BasketSpec = Qualify_EquitySwap_PriceReturnBasicPerformance_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_PriceReturnBasicPerformance_Basket
qualify_EquitySwap_PriceReturnBasicPerformance_BasketFunc : (Qualify_EquitySwap_PriceReturnBasicPerformance_BasketSpec -> Bool) -> Qualify_EquitySwap_PriceReturnBasicPerformance_BasketSpec -> Bool
qualify_EquitySwap_PriceReturnBasicPerformance_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_PriceReturnBasicPerformance_Index
data Qualify_EquitySwap_PriceReturnBasicPerformance_IndexSpec = Qualify_EquitySwap_PriceReturnBasicPerformance_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_PriceReturnBasicPerformance_Index
qualify_EquitySwap_PriceReturnBasicPerformance_IndexFunc : (Qualify_EquitySwap_PriceReturnBasicPerformance_IndexSpec -> Bool) -> Qualify_EquitySwap_PriceReturnBasicPerformance_IndexSpec -> Bool
qualify_EquitySwap_PriceReturnBasicPerformance_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_PriceReturnBasicPerformance_SingleName
data Qualify_EquitySwap_PriceReturnBasicPerformance_SingleNameSpec = Qualify_EquitySwap_PriceReturnBasicPerformance_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_PriceReturnBasicPerformance_SingleName
qualify_EquitySwap_PriceReturnBasicPerformance_SingleNameFunc : (Qualify_EquitySwap_PriceReturnBasicPerformance_SingleNameSpec -> Bool) -> Qualify_EquitySwap_PriceReturnBasicPerformance_SingleNameSpec -> Bool
qualify_EquitySwap_PriceReturnBasicPerformance_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_TotalReturnBasicPerformance_Basket
data Qualify_EquitySwap_TotalReturnBasicPerformance_BasketSpec = Qualify_EquitySwap_TotalReturnBasicPerformance_BasketSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_TotalReturnBasicPerformance_Basket
qualify_EquitySwap_TotalReturnBasicPerformance_BasketFunc : (Qualify_EquitySwap_TotalReturnBasicPerformance_BasketSpec -> Bool) -> Qualify_EquitySwap_TotalReturnBasicPerformance_BasketSpec -> Bool
qualify_EquitySwap_TotalReturnBasicPerformance_BasketFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_TotalReturnBasicPerformance_Index
data Qualify_EquitySwap_TotalReturnBasicPerformance_IndexSpec = Qualify_EquitySwap_TotalReturnBasicPerformance_IndexSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_TotalReturnBasicPerformance_Index
qualify_EquitySwap_TotalReturnBasicPerformance_IndexFunc : (Qualify_EquitySwap_TotalReturnBasicPerformance_IndexSpec -> Bool) -> Qualify_EquitySwap_TotalReturnBasicPerformance_IndexSpec -> Bool
qualify_EquitySwap_TotalReturnBasicPerformance_IndexFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_EquitySwap_TotalReturnBasicPerformance_SingleName
data Qualify_EquitySwap_TotalReturnBasicPerformance_SingleNameSpec = Qualify_EquitySwap_TotalReturnBasicPerformance_SingleNameSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_EquitySwap_TotalReturnBasicPerformance_SingleName
qualify_EquitySwap_TotalReturnBasicPerformance_SingleNameFunc : (Qualify_EquitySwap_TotalReturnBasicPerformance_SingleNameSpec -> Bool) -> Qualify_EquitySwap_TotalReturnBasicPerformance_SingleNameSpec -> Bool
qualify_EquitySwap_TotalReturnBasicPerformance_SingleNameFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Execution
data Qualify_ExecutionSpec = Qualify_ExecutionSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Execution
qualify_ExecutionFunc : (Qualify_ExecutionSpec -> Bool) -> Qualify_ExecutionSpec -> Bool
qualify_ExecutionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Exercise
data Qualify_ExerciseSpec = Qualify_ExerciseSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Exercise
qualify_ExerciseFunc : (Qualify_ExerciseSpec -> Bool) -> Qualify_ExerciseSpec -> Bool
qualify_ExerciseFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ForeignExchange_NDF
data Qualify_ForeignExchange_NDFSpec = Qualify_ForeignExchange_NDFSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_ForeignExchange_NDF
qualify_ForeignExchange_NDFFunc : (Qualify_ForeignExchange_NDFSpec -> Bool) -> Qualify_ForeignExchange_NDFSpec -> Bool
qualify_ForeignExchange_NDFFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ForeignExchange_NDS
data Qualify_ForeignExchange_NDSSpec = Qualify_ForeignExchange_NDSSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_ForeignExchange_NDS
qualify_ForeignExchange_NDSFunc : (Qualify_ForeignExchange_NDSSpec -> Bool) -> Qualify_ForeignExchange_NDSSpec -> Bool
qualify_ForeignExchange_NDSFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ForeignExchange_ParameterReturnCorrelation
data Qualify_ForeignExchange_ParameterReturnCorrelationSpec = Qualify_ForeignExchange_ParameterReturnCorrelationSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_ForeignExchange_ParameterReturnCorrelation
qualify_ForeignExchange_ParameterReturnCorrelationFunc : (Qualify_ForeignExchange_ParameterReturnCorrelationSpec -> Bool) -> Qualify_ForeignExchange_ParameterReturnCorrelationSpec -> Bool
qualify_ForeignExchange_ParameterReturnCorrelationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ForeignExchange_ParameterReturnVariance
data Qualify_ForeignExchange_ParameterReturnVarianceSpec = Qualify_ForeignExchange_ParameterReturnVarianceSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_ForeignExchange_ParameterReturnVariance
qualify_ForeignExchange_ParameterReturnVarianceFunc : (Qualify_ForeignExchange_ParameterReturnVarianceSpec -> Bool) -> Qualify_ForeignExchange_ParameterReturnVarianceSpec -> Bool
qualify_ForeignExchange_ParameterReturnVarianceFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ForeignExchange_ParameterReturnVolatility
data Qualify_ForeignExchange_ParameterReturnVolatilitySpec = Qualify_ForeignExchange_ParameterReturnVolatilitySpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_ForeignExchange_ParameterReturnVolatility
qualify_ForeignExchange_ParameterReturnVolatilityFunc : (Qualify_ForeignExchange_ParameterReturnVolatilitySpec -> Bool) -> Qualify_ForeignExchange_ParameterReturnVolatilitySpec -> Bool
qualify_ForeignExchange_ParameterReturnVolatilityFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ForeignExchange_Spot_Forward
data Qualify_ForeignExchange_Spot_ForwardSpec = Qualify_ForeignExchange_Spot_ForwardSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_ForeignExchange_Spot_Forward
qualify_ForeignExchange_Spot_ForwardFunc : (Qualify_ForeignExchange_Spot_ForwardSpec -> Bool) -> Qualify_ForeignExchange_Spot_ForwardSpec -> Bool
qualify_ForeignExchange_Spot_ForwardFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ForeignExchange_Swap
data Qualify_ForeignExchange_SwapSpec = Qualify_ForeignExchange_SwapSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_ForeignExchange_Swap
qualify_ForeignExchange_SwapFunc : (Qualify_ForeignExchange_SwapSpec -> Bool) -> Qualify_ForeignExchange_SwapSpec -> Bool
qualify_ForeignExchange_SwapFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ForeignExchange_VanillaOption
data Qualify_ForeignExchange_VanillaOptionSpec = Qualify_ForeignExchange_VanillaOptionSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_ForeignExchange_VanillaOption
qualify_ForeignExchange_VanillaOptionFunc : (Qualify_ForeignExchange_VanillaOptionSpec -> Bool) -> Qualify_ForeignExchange_VanillaOptionSpec -> Bool
qualify_ForeignExchange_VanillaOptionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_FullReturn
data Qualify_FullReturnSpec = Qualify_FullReturnSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_FullReturn
qualify_FullReturnFunc : (Qualify_FullReturnSpec -> Bool) -> Qualify_FullReturnSpec -> Bool
qualify_FullReturnFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Increase
data Qualify_IncreaseSpec = Qualify_IncreaseSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Increase
qualify_IncreaseFunc : (Qualify_IncreaseSpec -> Bool) -> Qualify_IncreaseSpec -> Bool
qualify_IncreaseFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_IndexTransition
data Qualify_IndexTransitionSpec = Qualify_IndexTransitionSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_IndexTransition
qualify_IndexTransitionFunc : (Qualify_IndexTransitionSpec -> Bool) -> Qualify_IndexTransitionSpec -> Bool
qualify_IndexTransitionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_CapFloor
data Qualify_InterestRate_CapFloorSpec = Qualify_InterestRate_CapFloorSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_InterestRate_CapFloor
qualify_InterestRate_CapFloorFunc : (Qualify_InterestRate_CapFloorSpec -> Bool) -> Qualify_InterestRate_CapFloorSpec -> Bool
qualify_InterestRate_CapFloorFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_CrossCurrency_Basis
data Qualify_InterestRate_CrossCurrency_BasisSpec = Qualify_InterestRate_CrossCurrency_BasisSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_CrossCurrency_Basis
qualify_InterestRate_CrossCurrency_BasisFunc : (Qualify_InterestRate_CrossCurrency_BasisSpec -> Bool) -> Qualify_InterestRate_CrossCurrency_BasisSpec -> Bool
qualify_InterestRate_CrossCurrency_BasisFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_CrossCurrency_FixedFixed
data Qualify_InterestRate_CrossCurrency_FixedFixedSpec = Qualify_InterestRate_CrossCurrency_FixedFixedSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_CrossCurrency_FixedFixed
qualify_InterestRate_CrossCurrency_FixedFixedFunc : (Qualify_InterestRate_CrossCurrency_FixedFixedSpec -> Bool) -> Qualify_InterestRate_CrossCurrency_FixedFixedSpec -> Bool
qualify_InterestRate_CrossCurrency_FixedFixedFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_CrossCurrency_FixedFloat
data Qualify_InterestRate_CrossCurrency_FixedFloatSpec = Qualify_InterestRate_CrossCurrency_FixedFloatSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_CrossCurrency_FixedFloat
qualify_InterestRate_CrossCurrency_FixedFloatFunc : (Qualify_InterestRate_CrossCurrency_FixedFloatSpec -> Bool) -> Qualify_InterestRate_CrossCurrency_FixedFloatSpec -> Bool
qualify_InterestRate_CrossCurrency_FixedFloatFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_Forward_Debt
data Qualify_InterestRate_Forward_DebtSpec = Qualify_InterestRate_Forward_DebtSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_Forward_Debt
qualify_InterestRate_Forward_DebtFunc : (Qualify_InterestRate_Forward_DebtSpec -> Bool) -> Qualify_InterestRate_Forward_DebtSpec -> Bool
qualify_InterestRate_Forward_DebtFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_Fra
data Qualify_InterestRate_FraSpec = Qualify_InterestRate_FraSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_InterestRate_Fra
qualify_InterestRate_FraFunc : (Qualify_InterestRate_FraSpec -> Bool) -> Qualify_InterestRate_FraSpec -> Bool
qualify_InterestRate_FraFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_IRSwap_Basis
data Qualify_InterestRate_IRSwap_BasisSpec = Qualify_InterestRate_IRSwap_BasisSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_IRSwap_Basis
qualify_InterestRate_IRSwap_BasisFunc : (Qualify_InterestRate_IRSwap_BasisSpec -> Bool) -> Qualify_InterestRate_IRSwap_BasisSpec -> Bool
qualify_InterestRate_IRSwap_BasisFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_IRSwap_Basis_OIS
data Qualify_InterestRate_IRSwap_Basis_OISSpec = Qualify_InterestRate_IRSwap_Basis_OISSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_IRSwap_Basis_OIS
qualify_InterestRate_IRSwap_Basis_OISFunc : (Qualify_InterestRate_IRSwap_Basis_OISSpec -> Bool) -> Qualify_InterestRate_IRSwap_Basis_OISSpec -> Bool
qualify_InterestRate_IRSwap_Basis_OISFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_IRSwap_FixedFixed
data Qualify_InterestRate_IRSwap_FixedFixedSpec = Qualify_InterestRate_IRSwap_FixedFixedSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_IRSwap_FixedFixed
qualify_InterestRate_IRSwap_FixedFixedFunc : (Qualify_InterestRate_IRSwap_FixedFixedSpec -> Bool) -> Qualify_InterestRate_IRSwap_FixedFixedSpec -> Bool
qualify_InterestRate_IRSwap_FixedFixedFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_IRSwap_FixedFloat
data Qualify_InterestRate_IRSwap_FixedFloatSpec = Qualify_InterestRate_IRSwap_FixedFloatSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_IRSwap_FixedFloat
qualify_InterestRate_IRSwap_FixedFloatFunc : (Qualify_InterestRate_IRSwap_FixedFloatSpec -> Bool) -> Qualify_InterestRate_IRSwap_FixedFloatSpec -> Bool
qualify_InterestRate_IRSwap_FixedFloatFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_IRSwap_FixedFloat_OIS
data Qualify_InterestRate_IRSwap_FixedFloat_OISSpec = Qualify_InterestRate_IRSwap_FixedFloat_OISSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_IRSwap_FixedFloat_OIS
qualify_InterestRate_IRSwap_FixedFloat_OISFunc : (Qualify_InterestRate_IRSwap_FixedFloat_OISSpec -> Bool) -> Qualify_InterestRate_IRSwap_FixedFloat_OISSpec -> Bool
qualify_InterestRate_IRSwap_FixedFloat_OISFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_IRSwap_FixedFloat_ZeroCoupon
data Qualify_InterestRate_IRSwap_FixedFloat_ZeroCouponSpec = Qualify_InterestRate_IRSwap_FixedFloat_ZeroCouponSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_IRSwap_FixedFloat_ZeroCoupon
qualify_InterestRate_IRSwap_FixedFloat_ZeroCouponFunc : (Qualify_InterestRate_IRSwap_FixedFloat_ZeroCouponSpec -> Bool) -> Qualify_InterestRate_IRSwap_FixedFloat_ZeroCouponSpec -> Bool
qualify_InterestRate_IRSwap_FixedFloat_ZeroCouponFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_InflationSwap_Basis_YearOn_Year
data Qualify_InterestRate_InflationSwap_Basis_YearOn_YearSpec = Qualify_InterestRate_InflationSwap_Basis_YearOn_YearSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_InflationSwap_Basis_YearOn_Year
qualify_InterestRate_InflationSwap_Basis_YearOn_YearFunc : (Qualify_InterestRate_InflationSwap_Basis_YearOn_YearSpec -> Bool) -> Qualify_InterestRate_InflationSwap_Basis_YearOn_YearSpec -> Bool
qualify_InterestRate_InflationSwap_Basis_YearOn_YearFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_InflationSwap_Basis_ZeroCoupon
data Qualify_InterestRate_InflationSwap_Basis_ZeroCouponSpec = Qualify_InterestRate_InflationSwap_Basis_ZeroCouponSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_InflationSwap_Basis_ZeroCoupon
qualify_InterestRate_InflationSwap_Basis_ZeroCouponFunc : (Qualify_InterestRate_InflationSwap_Basis_ZeroCouponSpec -> Bool) -> Qualify_InterestRate_InflationSwap_Basis_ZeroCouponSpec -> Bool
qualify_InterestRate_InflationSwap_Basis_ZeroCouponFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_InflationSwap_FixedFloat_YearOn_Year
data Qualify_InterestRate_InflationSwap_FixedFloat_YearOn_YearSpec = Qualify_InterestRate_InflationSwap_FixedFloat_YearOn_YearSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_InflationSwap_FixedFloat_YearOn_Year
qualify_InterestRate_InflationSwap_FixedFloat_YearOn_YearFunc : (Qualify_InterestRate_InflationSwap_FixedFloat_YearOn_YearSpec -> Bool) -> Qualify_InterestRate_InflationSwap_FixedFloat_YearOn_YearSpec -> Bool
qualify_InterestRate_InflationSwap_FixedFloat_YearOn_YearFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCoupon
data Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCouponSpec = Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCouponSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCoupon
qualify_InterestRate_InflationSwap_FixedFloat_ZeroCouponFunc : (Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCouponSpec -> Bool) -> Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCouponSpec -> Bool
qualify_InterestRate_InflationSwap_FixedFloat_ZeroCouponFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_Option_DebtOption
data Qualify_InterestRate_Option_DebtOptionSpec = Qualify_InterestRate_Option_DebtOptionSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_Option_DebtOption
qualify_InterestRate_Option_DebtOptionFunc : (Qualify_InterestRate_Option_DebtOptionSpec -> Bool) -> Qualify_InterestRate_Option_DebtOptionSpec -> Bool
qualify_InterestRate_Option_DebtOptionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_InterestRate_Option_Swaption
data Qualify_InterestRate_Option_SwaptionSpec = Qualify_InterestRate_Option_SwaptionSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_InterestRate_Option_Swaption
qualify_InterestRate_Option_SwaptionFunc : (Qualify_InterestRate_Option_SwaptionSpec -> Bool) -> Qualify_InterestRate_Option_SwaptionSpec -> Bool
qualify_InterestRate_Option_SwaptionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Novation
data Qualify_NovationSpec = Qualify_NovationSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Novation
qualify_NovationFunc : (Qualify_NovationSpec -> Bool) -> Qualify_NovationSpec -> Bool
qualify_NovationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_OnDemandPayment
data Qualify_OnDemandPaymentSpec = Qualify_OnDemandPaymentSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_OnDemandPayment
qualify_OnDemandPaymentFunc : (Qualify_OnDemandPaymentSpec -> Bool) -> Qualify_OnDemandPaymentSpec -> Bool
qualify_OnDemandPaymentFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_OnDemandRateChange
data Qualify_OnDemandRateChangeSpec = Qualify_OnDemandRateChangeSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_OnDemandRateChange
qualify_OnDemandRateChangeFunc : (Qualify_OnDemandRateChangeSpec -> Bool) -> Qualify_OnDemandRateChangeSpec -> Bool
qualify_OnDemandRateChangeFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_OpenOfferClearedTrade
data Qualify_OpenOfferClearedTradeSpec = Qualify_OpenOfferClearedTradeSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_OpenOfferClearedTrade
qualify_OpenOfferClearedTradeFunc : (Qualify_OpenOfferClearedTradeSpec -> Bool) -> Qualify_OpenOfferClearedTradeSpec -> Bool
qualify_OpenOfferClearedTradeFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_PairOff
data Qualify_PairOffSpec = Qualify_PairOffSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_PairOff
qualify_PairOffFunc : (Qualify_PairOffSpec -> Bool) -> Qualify_PairOffSpec -> Bool
qualify_PairOffFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_PartialDelivery
data Qualify_PartialDeliverySpec = Qualify_PartialDeliverySpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_PartialDelivery
qualify_PartialDeliveryFunc : (Qualify_PartialDeliverySpec -> Bool) -> Qualify_PartialDeliverySpec -> Bool
qualify_PartialDeliveryFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_PartialNovation
data Qualify_PartialNovationSpec = Qualify_PartialNovationSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_PartialNovation
qualify_PartialNovationFunc : (Qualify_PartialNovationSpec -> Bool) -> Qualify_PartialNovationSpec -> Bool
qualify_PartialNovationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_PartialTermination
data Qualify_PartialTerminationSpec = Qualify_PartialTerminationSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_PartialTermination
qualify_PartialTerminationFunc : (Qualify_PartialTerminationSpec -> Bool) -> Qualify_PartialTerminationSpec -> Bool
qualify_PartialTerminationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_PortfolioRebalancing
data Qualify_PortfolioRebalancingSpec = Qualify_PortfolioRebalancingSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_PortfolioRebalancing
qualify_PortfolioRebalancingFunc : (Qualify_PortfolioRebalancingSpec -> Bool) -> Qualify_PortfolioRebalancingSpec -> Bool
qualify_PortfolioRebalancingFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Reallocation
data Qualify_ReallocationSpec = Qualify_ReallocationSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Reallocation
qualify_ReallocationFunc : (Qualify_ReallocationSpec -> Bool) -> Qualify_ReallocationSpec -> Bool
qualify_ReallocationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Renegotiation
data Qualify_RenegotiationSpec = Qualify_RenegotiationSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Renegotiation
qualify_RenegotiationFunc : (Qualify_RenegotiationSpec -> Bool) -> Qualify_RenegotiationSpec -> Bool
qualify_RenegotiationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Reprice
data Qualify_RepriceSpec = Qualify_RepriceSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Reprice
qualify_RepriceFunc : (Qualify_RepriceSpec -> Bool) -> Qualify_RepriceSpec -> Bool
qualify_RepriceFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Repurchase
data Qualify_RepurchaseSpec = Qualify_RepurchaseSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Repurchase
qualify_RepurchaseFunc : (Qualify_RepurchaseSpec -> Bool) -> Qualify_RepurchaseSpec -> Bool
qualify_RepurchaseFunc impl spec = impl spec

-- | Function argument object definition for Qualify_Reset
data Qualify_ResetSpec = Qualify_ResetSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Reset
qualify_ResetFunc : (Qualify_ResetSpec -> Bool) -> Qualify_ResetSpec -> Bool
qualify_ResetFunc impl spec = impl spec

-- | Function argument object definition for Qualify_Roll
data Qualify_RollSpec = Qualify_RollSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Roll
qualify_RollFunc : (Qualify_RollSpec -> Bool) -> Qualify_RollSpec -> Bool
qualify_RollFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_SecuritiesFinance
data Qualify_SecuritiesFinanceSpec = Qualify_SecuritiesFinanceSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_SecuritiesFinance
qualify_SecuritiesFinanceFunc : (Qualify_SecuritiesFinanceSpec -> Bool) -> Qualify_SecuritiesFinanceSpec -> Bool
qualify_SecuritiesFinanceFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_SecuritySettlement
data Qualify_SecuritySettlementSpec = Qualify_SecuritySettlementSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_SecuritySettlement
qualify_SecuritySettlementFunc : (Qualify_SecuritySettlementSpec -> Bool) -> Qualify_SecuritySettlementSpec -> Bool
qualify_SecuritySettlementFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_SecurityTransfer
data Qualify_SecurityTransferSpec = Qualify_SecurityTransferSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_SecurityTransfer
qualify_SecurityTransferFunc : (Qualify_SecurityTransferSpec -> Bool) -> Qualify_SecurityTransferSpec -> Bool
qualify_SecurityTransferFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Shaping
data Qualify_ShapingSpec = Qualify_ShapingSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Shaping
qualify_ShapingFunc : (Qualify_ShapingSpec -> Bool) -> Qualify_ShapingSpec -> Bool
qualify_ShapingFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_StockSplit
data Qualify_StockSplitSpec = Qualify_StockSplitSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_StockSplit
qualify_StockSplitFunc : (Qualify_StockSplitSpec -> Bool) -> Qualify_StockSplitSpec -> Bool
qualify_StockSplitFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_SubProduct_Basis
data Qualify_SubProduct_BasisSpec = Qualify_SubProduct_BasisSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_SubProduct_Basis
qualify_SubProduct_BasisFunc : (Qualify_SubProduct_BasisSpec -> Bool) -> Qualify_SubProduct_BasisSpec -> Bool
qualify_SubProduct_BasisFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_SubProduct_FixedFixed
data Qualify_SubProduct_FixedFixedSpec = Qualify_SubProduct_FixedFixedSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_SubProduct_FixedFixed
qualify_SubProduct_FixedFixedFunc : (Qualify_SubProduct_FixedFixedSpec -> Bool) -> Qualify_SubProduct_FixedFixedSpec -> Bool
qualify_SubProduct_FixedFixedFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_SubProduct_FixedFloat
data Qualify_SubProduct_FixedFloatSpec = Qualify_SubProduct_FixedFloatSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_SubProduct_FixedFloat
qualify_SubProduct_FixedFloatFunc : (Qualify_SubProduct_FixedFloatSpec -> Bool) -> Qualify_SubProduct_FixedFloatSpec -> Bool
qualify_SubProduct_FixedFloatFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Substitution
data Qualify_SubstitutionSpec = Qualify_SubstitutionSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Substitution
qualify_SubstitutionFunc : (Qualify_SubstitutionSpec -> Bool) -> Qualify_SubstitutionSpec -> Bool
qualify_SubstitutionFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Termination
data Qualify_TerminationSpec = Qualify_TerminationSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Termination
qualify_TerminationFunc : (Qualify_TerminationSpec -> Bool) -> Qualify_TerminationSpec -> Bool
qualify_TerminationFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Transaction_OIS
data Qualify_Transaction_OISSpec = Qualify_Transaction_OISSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Transaction_OIS
qualify_Transaction_OISFunc : (Qualify_Transaction_OISSpec -> Bool) -> Qualify_Transaction_OISSpec -> Bool
qualify_Transaction_OISFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Transaction_YoY
data Qualify_Transaction_YoYSpec = Qualify_Transaction_YoYSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_Transaction_YoY
qualify_Transaction_YoYFunc : (Qualify_Transaction_YoYSpec -> Bool) -> Qualify_Transaction_YoYSpec -> Bool
qualify_Transaction_YoYFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Transaction_ZeroCoupon
data Qualify_Transaction_ZeroCouponSpec = Qualify_Transaction_ZeroCouponSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_Transaction_ZeroCoupon
qualify_Transaction_ZeroCouponFunc : (Qualify_Transaction_ZeroCouponSpec -> Bool) -> Qualify_Transaction_ZeroCouponSpec -> Bool
qualify_Transaction_ZeroCouponFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_Transaction_ZeroCoupon_KnownAmount
data Qualify_Transaction_ZeroCoupon_KnownAmountSpec = Qualify_Transaction_ZeroCoupon_KnownAmountSpec with
  economicTerms : EconomicTerms
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_Transaction_ZeroCoupon_KnownAmount
qualify_Transaction_ZeroCoupon_KnownAmountFunc : (Qualify_Transaction_ZeroCoupon_KnownAmountSpec -> Bool) -> Qualify_Transaction_ZeroCoupon_KnownAmountSpec -> Bool
qualify_Transaction_ZeroCoupon_KnownAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_UnderlierProduct_Equity
data Qualify_UnderlierProduct_EquitySpec = Qualify_UnderlierProduct_EquitySpec with
  underlier : Product
    deriving (Eq, Ord, Show)

-- | Function definition for
--   Qualify_UnderlierProduct_Equity
qualify_UnderlierProduct_EquityFunc : (Qualify_UnderlierProduct_EquitySpec -> Bool) -> Qualify_UnderlierProduct_EquitySpec -> Bool
qualify_UnderlierProduct_EquityFunc impl spec = impl spec

-- | Function argument object definition for
--   Qualify_ValuationUpdate
data Qualify_ValuationUpdateSpec = Qualify_ValuationUpdateSpec with
  businessEvent : BusinessEvent
    deriving (Eq, Ord, Show)

-- | Function definition for Qualify_ValuationUpdate
qualify_ValuationUpdateFunc : (Qualify_ValuationUpdateSpec -> Bool) -> Qualify_ValuationUpdateSpec -> Bool
qualify_ValuationUpdateFunc impl spec = impl spec

-- | Function argument object definition for
--   QuantityDecreased
data QuantityDecreasedSpec = QuantityDecreasedSpec with
  before : TradeState
  after : [TradeState]
    deriving (Eq, Ord, Show)

-- | Function definition for QuantityDecreased
quantityDecreasedFunc : (QuantityDecreasedSpec -> Bool) -> QuantityDecreasedSpec -> Bool
quantityDecreasedFunc impl spec = impl spec

-- | Function argument object definition for
--   QuantityDecreasedToZero
data QuantityDecreasedToZeroSpec = QuantityDecreasedToZeroSpec with
  before : [TradeState]
  after : [TradeState]
    deriving (Eq, Ord, Show)

-- | Function definition for QuantityDecreasedToZero
quantityDecreasedToZeroFunc : (QuantityDecreasedToZeroSpec -> Bool) -> QuantityDecreasedToZeroSpec -> Bool
quantityDecreasedToZeroFunc impl spec = impl spec

-- | Function argument object definition for
--   QuantityIncreased
data QuantityIncreasedSpec = QuantityIncreasedSpec with
  before : TradeState
  after : [TradeState]
    deriving (Eq, Ord, Show)

-- | Function definition for QuantityIncreased
quantityIncreasedFunc : (QuantityIncreasedSpec -> Bool) -> QuantityIncreasedSpec -> Bool
quantityIncreasedFunc impl spec = impl spec

-- | Function argument object definition for RateOfReturn
data RateOfReturnSpec = RateOfReturnSpec with
  initialPrice : PriceSchedule
  finalPrice : PriceSchedule
    deriving (Eq, Ord, Show)

-- | Function definition for RateOfReturn
rateOfReturnFunc : (RateOfReturnSpec -> Decimal) -> RateOfReturnSpec -> Decimal
rateOfReturnFunc impl spec = impl spec

-- | Function argument object definition for
--   RateOptionObservableCondition
data RateOptionObservableConditionSpec = RateOptionObservableConditionSpec with
  pq : PriceQuantity
    deriving (Eq, Ord, Show)

-- | Function definition for RateOptionObservableCondition
rateOptionObservableConditionFunc : (RateOptionObservableConditionSpec -> Optional Bool) -> RateOptionObservableConditionSpec -> Optional Bool
rateOptionObservableConditionFunc impl spec = impl spec

-- | Function argument object definition for ReplaceParty
data ReplacePartySpec = ReplacePartySpec with
  parties : [Party]
  oldParty : Party
  newParty : Party
    deriving (Eq, Ord, Show)

-- | Function definition for ReplaceParty
replacePartyFunc : (ReplacePartySpec -> [Party]) -> ReplacePartySpec -> [Party]
replacePartyFunc impl spec = impl spec

-- | Function argument object definition for
--   ReplaceTradeLot
data ReplaceTradeLotSpec = ReplaceTradeLotSpec with
  tradeLots : [TradeLot]
  newTradeLot : TradeLot
    deriving (Eq, Ord, Show)

-- | Function definition for ReplaceTradeLot
replaceTradeLotFunc : (ReplaceTradeLotSpec -> [TradeLot]) -> ReplaceTradeLotSpec -> [TradeLot]
replaceTradeLotFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveAdjustableDate
data ResolveAdjustableDateSpec = ResolveAdjustableDateSpec with
  adjustableOrRelativeDate : AdjustableOrRelativeDate
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveAdjustableDate
resolveAdjustableDateFunc : (ResolveAdjustableDateSpec -> Optional Date) -> ResolveAdjustableDateSpec -> Optional Date
resolveAdjustableDateFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveAdjustableDates
data ResolveAdjustableDatesSpec = ResolveAdjustableDatesSpec with
  adjustableRelativeOrPeriodicDates : AdjustableRelativeOrPeriodicDates
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveAdjustableDates
resolveAdjustableDatesFunc : (ResolveAdjustableDatesSpec -> [Date]) -> ResolveAdjustableDatesSpec -> [Date]
resolveAdjustableDatesFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveCashSettlementDate
data ResolveCashSettlementDateSpec = ResolveCashSettlementDateSpec with
  tradeState : TradeState
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveCashSettlementDate
resolveCashSettlementDateFunc : (ResolveCashSettlementDateSpec -> Date) -> ResolveCashSettlementDateSpec -> Date
resolveCashSettlementDateFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveEquityInitialPrice
data ResolveEquityInitialPriceSpec = ResolveEquityInitialPriceSpec with
  price : [PriceSchedule]
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveEquityInitialPrice
resolveEquityInitialPriceFunc : (ResolveEquityInitialPriceSpec -> Optional PriceSchedule) -> ResolveEquityInitialPriceSpec -> Optional PriceSchedule
resolveEquityInitialPriceFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveInterestRateObservationIdentifiers
data ResolveInterestRateObservationIdentifiersSpec = ResolveInterestRateObservationIdentifiersSpec with
  payout : InterestRatePayout
  date : Date
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ResolveInterestRateObservationIdentifiers
resolveInterestRateObservationIdentifiersFunc : (ResolveInterestRateObservationIdentifiersSpec -> ObservationIdentifier) -> ResolveInterestRateObservationIdentifiersSpec -> ObservationIdentifier
resolveInterestRateObservationIdentifiersFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveInterestRateReset
data ResolveInterestRateResetSpec = ResolveInterestRateResetSpec with
  payouts : [InterestRatePayout]
  observation : Observation
  resetDate : Date
  rateRecordDate : Optional Date
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveInterestRateReset
resolveInterestRateResetFunc : (ResolveInterestRateResetSpec -> Reset) -> ResolveInterestRateResetSpec -> Reset
resolveInterestRateResetFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveObservation
data ResolveObservationSpec = ResolveObservationSpec with
  identifiers : [ObservationIdentifier]
  averagingMethod : Optional AveragingCalculationMethod
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveObservation
resolveObservationFunc : (ResolveObservationSpec -> Observation) -> ResolveObservationSpec -> Observation
resolveObservationFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveObservationAverage
data ResolveObservationAverageSpec = ResolveObservationAverageSpec with
  observations : [Observation]
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveObservationAverage
resolveObservationAverageFunc : (ResolveObservationAverageSpec -> Price) -> ResolveObservationAverageSpec -> Price
resolveObservationAverageFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolvePerformanceObservationIdentifiers
data ResolvePerformanceObservationIdentifiersSpec = ResolvePerformanceObservationIdentifiersSpec with
  payout : PerformancePayout
  adjustedDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ResolvePerformanceObservationIdentifiers
resolvePerformanceObservationIdentifiersFunc : (ResolvePerformanceObservationIdentifiersSpec -> ObservationIdentifier) -> ResolvePerformanceObservationIdentifiersSpec -> ObservationIdentifier
resolvePerformanceObservationIdentifiersFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolvePerformancePeriodStartPrice
data ResolvePerformancePeriodStartPriceSpec = ResolvePerformancePeriodStartPriceSpec with
  performancePayout : PerformancePayout
  price : [PriceSchedule]
  observable : Optional Observable
  adjustedDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ResolvePerformancePeriodStartPrice
resolvePerformancePeriodStartPriceFunc : (ResolvePerformancePeriodStartPriceSpec -> PriceSchedule) -> ResolvePerformancePeriodStartPriceSpec -> PriceSchedule
resolvePerformancePeriodStartPriceFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolvePerformanceReset
data ResolvePerformanceResetSpec = ResolvePerformanceResetSpec with
  performancePayout : PerformancePayout
  observation : Observation
  date : Date
    deriving (Eq, Ord, Show)

-- | Function definition for ResolvePerformanceReset
resolvePerformanceResetFunc : (ResolvePerformanceResetSpec -> Reset) -> ResolvePerformanceResetSpec -> Reset
resolvePerformanceResetFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolvePerformanceValuationTime
data ResolvePerformanceValuationTimeSpec = ResolvePerformanceValuationTimeSpec with
  valuationTime : Optional BusinessCenterTime
  valuationTimeType : Optional TimeTypeEnum
  assetIdentifier : AssetIdentifier
  determinationMethod : DeterminationMethodEnum
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ResolvePerformanceValuationTime
resolvePerformanceValuationTimeFunc : (ResolvePerformanceValuationTimeSpec -> TimeZone) -> ResolvePerformanceValuationTimeSpec -> TimeZone
resolvePerformanceValuationTimeFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveRateIndex
data ResolveRateIndexSpec = ResolveRateIndexSpec with
  index : FloatingRateIndexEnum
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveRateIndex
resolveRateIndexFunc : (ResolveRateIndexSpec -> Decimal) -> ResolveRateIndexSpec -> Decimal
resolveRateIndexFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveRepurchaseTransferInstruction
data ResolveRepurchaseTransferInstructionSpec = ResolveRepurchaseTransferInstructionSpec with
  tradeState : TradeState
  repurchaseDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ResolveRepurchaseTransferInstruction
resolveRepurchaseTransferInstructionFunc : (ResolveRepurchaseTransferInstructionSpec -> EventInstruction) -> ResolveRepurchaseTransferInstructionSpec -> EventInstruction
resolveRepurchaseTransferInstructionFunc impl spec = impl spec

-- | Function argument object definition for ResolveReset
data ResolveResetSpec = ResolveResetSpec with
  tradeState : TradeState
  date : Date
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveReset
resolveResetFunc : (ResolveResetSpec -> Reset) -> ResolveResetSpec -> Reset
resolveResetFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveSecurityFinanceBillingAmount
data ResolveSecurityFinanceBillingAmountSpec = ResolveSecurityFinanceBillingAmountSpec with
  tradeState : TradeState
  reset : Reset
  recordStartDate : Date
  recordEndDate : Date
  transferDate : Date
    deriving (Eq, Ord, Show)

-- | Function definition for
--   ResolveSecurityFinanceBillingAmount
resolveSecurityFinanceBillingAmountFunc : (ResolveSecurityFinanceBillingAmountSpec -> Transfer) -> ResolveSecurityFinanceBillingAmountSpec -> Transfer
resolveSecurityFinanceBillingAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveTimeZoneFromTimeType
data ResolveTimeZoneFromTimeTypeSpec = ResolveTimeZoneFromTimeTypeSpec with
  assetIdentifier : AssetIdentifier
  timeType : TimeTypeEnum
  determinationMethod : DeterminationMethodEnum
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveTimeZoneFromTimeType
resolveTimeZoneFromTimeTypeFunc : (ResolveTimeZoneFromTimeTypeSpec -> TimeZone) -> ResolveTimeZoneFromTimeTypeSpec -> TimeZone
resolveTimeZoneFromTimeTypeFunc impl spec = impl spec

-- | Function argument object definition for
--   ResolveTransfer
data ResolveTransferSpec = ResolveTransferSpec with
  instruction : CalculateTransferInstruction
    deriving (Eq, Ord, Show)

-- | Function definition for ResolveTransfer
resolveTransferFunc : (ResolveTransferSpec -> Transfer) -> ResolveTransferSpec -> Transfer
resolveTransferFunc impl spec = impl spec

-- | Function argument object definition for
--   RoundToNearest
data RoundToNearestSpec = RoundToNearestSpec with
  value : Decimal
  nearest : Decimal
  roundingMode : RoundingModeEnum
    deriving (Eq, Ord, Show)

-- | Function definition for RoundToNearest
roundToNearestFunc : (RoundToNearestSpec -> Decimal) -> RoundToNearestSpec -> Decimal
roundToNearestFunc impl spec = impl spec

-- | Function argument object definition for
--   RoundToPrecision
data RoundToPrecisionSpec = RoundToPrecisionSpec with
  value : Decimal
  precision : Int
  roundingMode : RoundingDirectionEnum
    deriving (Eq, Ord, Show)

-- | Function definition for RoundToPrecision
roundToPrecisionFunc : (RoundToPrecisionSpec -> Decimal) -> RoundToPrecisionSpec -> Decimal
roundToPrecisionFunc impl spec = impl spec

-- | Function argument object definition for
--   SecurityFinanceCashSettlementAmount
data SecurityFinanceCashSettlementAmountSpec = SecurityFinanceCashSettlementAmountSpec with
  tradeState : TradeState
  date : Date
  quantity : Optional Quantity
  payerReceiver : Optional PayerReceiver
    deriving (Eq, Ord, Show)

-- | Function definition for
--   SecurityFinanceCashSettlementAmount
securityFinanceCashSettlementAmountFunc : (SecurityFinanceCashSettlementAmountSpec -> Transfer) -> SecurityFinanceCashSettlementAmountSpec -> Transfer
securityFinanceCashSettlementAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   SetCashCurrency
data SetCashCurrencySpec = SetCashCurrencySpec with
  cash : Optional Cash
  currency : CurrencyCodeEnum
    deriving (Eq, Ord, Show)

-- | Function definition for SetCashCurrency
setCashCurrencyFunc : (SetCashCurrencySpec -> Cash) -> SetCashCurrencySpec -> Cash
setCashCurrencyFunc impl spec = impl spec

-- | Function argument object definition for SpreadAmount
data SpreadAmountSpec = SpreadAmountSpec with
  interestRatePayout : InterestRatePayout
  calculationPeriod : CalculationPeriodBase
    deriving (Eq, Ord, Show)

-- | Function definition for SpreadAmount
spreadAmountFunc : (SpreadAmountSpec -> Optional Decimal) -> SpreadAmountSpec -> Optional Decimal
spreadAmountFunc impl spec = impl spec

-- | Function argument object definition for
--   TimeZoneFromBusinessCenterTime
data TimeZoneFromBusinessCenterTimeSpec = TimeZoneFromBusinessCenterTimeSpec with
  time : BusinessCenterTime
    deriving (Eq, Ord, Show)

-- | Function definition for
--   TimeZoneFromBusinessCenterTime
timeZoneFromBusinessCenterTimeFunc : (TimeZoneFromBusinessCenterTimeSpec -> TimeZone) -> TimeZoneFromBusinessCenterTimeSpec -> TimeZone
timeZoneFromBusinessCenterTimeFunc impl spec = impl spec

-- | Function argument object definition for ToDateTime
data ToDateTimeSpec = ToDateTimeSpec with
  date : Optional Date
    deriving (Eq, Ord, Show)

-- | Function definition for ToDateTime
toDateTimeFunc : (ToDateTimeSpec -> Optional ZonedDateTime) -> ToDateTimeSpec -> Optional ZonedDateTime
toDateTimeFunc impl spec = impl spec

-- | Function argument object definition for ToMoney
data ToMoneySpec = ToMoneySpec with
  quantity : Quantity
    deriving (Eq, Ord, Show)

-- | Function definition for ToMoney
toMoneyFunc : (ToMoneySpec -> Money) -> ToMoneySpec -> Money
toMoneyFunc impl spec = impl spec

-- | Function argument object definition for ToTime
data ToTimeSpec = ToTimeSpec with
  hours : Int
  minutes : Int
  seconds : Int
    deriving (Eq, Ord, Show)

-- | Function definition for ToTime
toTimeFunc : (ToTimeSpec -> Text) -> ToTimeSpec -> Text
toTimeFunc impl spec = impl spec

-- | Function argument object definition for Today
data TodaySpec = TodaySpec with
    deriving (Eq, Ord, Show)

-- | Function definition for Today
todayFunc : (TodaySpec -> Date) -> TodaySpec -> Date
todayFunc impl spec = impl spec

-- | Function argument object definition for
--   TradeNoExecutionDetails
data TradeNoExecutionDetailsSpec = TradeNoExecutionDetailsSpec with
  trade : Trade
    deriving (Eq, Ord, Show)

-- | Function definition for TradeNoExecutionDetails
tradeNoExecutionDetailsFunc : (TradeNoExecutionDetailsSpec -> Trade) -> TradeNoExecutionDetailsSpec -> Trade
tradeNoExecutionDetailsFunc impl spec = impl spec

-- | Function argument object definition for
--   TransfersForDate
data TransfersForDateSpec = TransfersForDateSpec with
  transfers : [Transfer]
  date : Date
    deriving (Eq, Ord, Show)

-- | Function definition for TransfersForDate
transfersForDateFunc : (TransfersForDateSpec -> [Transfer]) -> TransfersForDateSpec -> [Transfer]
transfersForDateFunc impl spec = impl spec

-- | Function argument object definition for
--   UpdateAmountForEachMatchingQuantity
data UpdateAmountForEachMatchingQuantitySpec = UpdateAmountForEachMatchingQuantitySpec with
  priceQuantity : [PriceQuantity]
  change : [PriceQuantity]
  direction : QuantityChangeDirectionEnum
    deriving (Eq, Ord, Show)

-- | Function definition for
--   UpdateAmountForEachMatchingQuantity
updateAmountForEachMatchingQuantityFunc : (UpdateAmountForEachMatchingQuantitySpec -> [PriceQuantity]) -> UpdateAmountForEachMatchingQuantitySpec -> [PriceQuantity]
updateAmountForEachMatchingQuantityFunc impl spec = impl spec

-- | Function argument object definition for
--   UpdateAmountForEachQuantity
data UpdateAmountForEachQuantitySpec = UpdateAmountForEachQuantitySpec with
  priceQuantity : [PriceQuantity]
  amount : Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for UpdateAmountForEachQuantity
updateAmountForEachQuantityFunc : (UpdateAmountForEachQuantitySpec -> [PriceQuantity]) -> UpdateAmountForEachQuantitySpec -> [PriceQuantity]
updateAmountForEachQuantityFunc impl spec = impl spec

-- | Function argument object definition for
--   UpdateIndexTransitionPriceAndRateOption
data UpdateIndexTransitionPriceAndRateOptionSpec = UpdateIndexTransitionPriceAndRateOptionSpec with
  priceQuantity : PriceQuantity
  instruction : Optional PriceQuantity
    deriving (Eq, Ord, Show)

-- | Function definition for
--   UpdateIndexTransitionPriceAndRateOption
updateIndexTransitionPriceAndRateOptionFunc : (UpdateIndexTransitionPriceAndRateOptionSpec -> PriceQuantity) -> UpdateIndexTransitionPriceAndRateOptionSpec -> PriceQuantity
updateIndexTransitionPriceAndRateOptionFunc impl spec = impl spec

-- | Function argument object definition for
--   UpdateSpreadAdjustmentAndRateOptions
data UpdateSpreadAdjustmentAndRateOptionsSpec = UpdateSpreadAdjustmentAndRateOptionsSpec with
  tradeState : TradeState
  instructions : [PriceQuantity]
    deriving (Eq, Ord, Show)

-- | Function definition for
--   UpdateSpreadAdjustmentAndRateOptions
updateSpreadAdjustmentAndRateOptionsFunc : (UpdateSpreadAdjustmentAndRateOptionsSpec -> TradeState) -> UpdateSpreadAdjustmentAndRateOptionsSpec -> TradeState
updateSpreadAdjustmentAndRateOptionsFunc impl spec = impl spec

-- | Function argument object definition for
--   VectorGrowthOperation
data VectorGrowthOperationSpec = VectorGrowthOperationSpec with
  baseValue : Decimal
  factor : [Decimal]
    deriving (Eq, Ord, Show)

-- | Function definition for VectorGrowthOperation
vectorGrowthOperationFunc : (VectorGrowthOperationSpec -> [Decimal]) -> VectorGrowthOperationSpec -> [Decimal]
vectorGrowthOperationFunc impl spec = impl spec

-- | Function argument object definition for
--   VectorOperation
data VectorOperationSpec = VectorOperationSpec with
  arithmeticOp : ArithmeticOperationEnum
  left : [Decimal]
  right : [Decimal]
    deriving (Eq, Ord, Show)

-- | Function definition for VectorOperation
vectorOperationFunc : (VectorOperationSpec -> [Decimal]) -> VectorOperationSpec -> [Decimal]
vectorOperationFunc impl spec = impl spec

-- | Function argument object definition for
--   VectorScalarOperation
data VectorScalarOperationSpec = VectorScalarOperationSpec with
  arithmeticOp : ArithmeticOperationEnum
  left : [Decimal]
  right : Optional Decimal
    deriving (Eq, Ord, Show)

-- | Function definition for VectorScalarOperation
vectorScalarOperationFunc : (VectorScalarOperationSpec -> [Decimal]) -> VectorScalarOperationSpec -> [Decimal]
vectorScalarOperationFunc impl spec = impl spec

-- | Function argument object definition for YearFraction
data YearFractionSpec = YearFractionSpec with
  dayCountFractionEnum : DayCountFractionEnum
  startDate : Date
  endDate : Date
  terminationDate : Optional Date
  periodsInYear : Optional Int
    deriving (Eq, Ord, Show)

-- | Function definition for YearFraction
yearFractionFunc : (YearFractionSpec -> Decimal) -> YearFractionSpec -> Decimal
yearFractionFunc impl spec = impl spec












-- | Function argument object definition for
--   YearFractionForOneDay
data YearFractionForOneDaySpec = YearFractionForOneDaySpec with
  dcf : DayCountFractionEnum
    deriving (Eq, Ord, Show)

-- | Function definition for YearFractionForOneDay
yearFractionForOneDayFunc : (YearFractionForOneDaySpec -> Decimal) -> YearFractionForOneDaySpec -> Decimal
yearFractionForOneDayFunc impl spec = impl spec





© 2015 - 2025 Weber Informatics LLC | Privacy Policy