Skip to main content

legalis_ca/
lib.rs

1//! Canada Jurisdiction Support for Legalis-RS
2//!
3//! This crate provides comprehensive modeling of Canadian law across multiple areas.
4//!
5//! **Status**: v0.1.1 - Initial Implementation
6//!
7//! ## Legal Areas Covered
8//!
9//! 1. **Constitutional Law** (Charter of Rights, Division of Powers)
10//!    - Canadian Charter of Rights and Freedoms (s.1 Oakes test)
11//!    - Division of powers (ss.91-92 Constitution Act, 1867)
12//!    - Aboriginal and treaty rights (s.35)
13//!    - Constitutional doctrines (pith and substance, paramountcy, IJI)
14//!
15//! 2. **Contract Law** (Common Law + Quebec Civil Law)
16//!    - Formation (offer, acceptance, consideration)
17//!    - Terms and interpretation
18//!    - Breach and remedies
19//!    - Quebec obligations (Civil Code)
20//!
21//! 3. **Tort Law** (Common Law)
22//!    - Negligence (Cooper v Hobart, Anns/Cooper test)
23//!    - Occupiers' liability (provincial OLA statutes)
24//!    - Defamation (Grant v Torstar responsible communication)
25//!
26//! 4. **Employment Law** (Federal + Provincial)
27//!    - Provincial employment standards (ESA)
28//!    - Human Rights Codes (duty to accommodate)
29//!    - Reasonable notice (Bardal factors)
30//!    - Just cause (McKinley contextual approach)
31//!    - Wrongful dismissal (Wallace, Keays v Honda)
32//!
33//! 5. **Criminal Law** (Criminal Code)
34//!    - Homicide (murder, manslaughter)
35//!    - Assault and sexual offences
36//!    - Defences (self-defence, necessity, duress, NCR)
37//!    - Sentencing (s.718 principles, Gladue factors)
38//!    - Charter rights in criminal process
39//!
40//! 6. **Family Law** (Divorce Act + Provincial)
41//!    - Divorce Act (grounds, parenting, support)
42//!    - Parenting arrangements (decision-making, parenting time)
43//!    - Child Support Guidelines
44//!    - Spousal Support Advisory Guidelines (SSAG)
45//!
46//! 7. **Property Law** (Real Property + Aboriginal Title)
47//!    - Land titles and Torrens system
48//!    - Aboriginal title (Tsilhqot'in Nation)
49//!    - Duty to consult (Haida Nation)
50//!    - Interests in land (easements, covenants, mortgages)
51//!    - Conveyancing
52//!
53//! 8. **Corporate Law** (CBCA + Provincial)
54//!    - Canada Business Corporations Act
55//!    - Provincial incorporation
56//!    - Director duties (BCE Inc, Peoples v Wise)
57//!    - Oppression remedy (s.241 CBCA)
58//!    - Derivative actions (s.239 CBCA)
59//!
60//! ## Canadian Legal System
61//!
62//! ### Bijural System
63//!
64//! Canada has a unique bijural legal system:
65//! - **Common Law**: All provinces except Quebec (English tradition)
66//! - **Civil Law**: Quebec (French tradition, Civil Code of Québec)
67//! - **Federal**: Bijural - federal laws apply both traditions
68//!
69//! ### Division of Powers
70//!
71//! The Constitution Act, 1867 divides legislative authority:
72//! - **Section 91**: Federal exclusive powers (criminal law, banking, divorce, etc.)
73//! - **Section 92**: Provincial exclusive powers (property, civil rights, health, etc.)
74//! - **POGG**: Federal residual power for national concerns
75//!
76//! ### Charter of Rights and Freedoms
77//!
78//! The Charter (1982) protects fundamental rights:
79//! - Rights may be limited under s.1 (Oakes test: pressing objective, proportionality)
80//! - Notwithstanding clause (s.33) allows override of some rights
81//! - Applies to government action only (s.32)
82//!
83//! ## Example Usage
84//!
85//! ```rust,ignore
86//! use legalis_ca::constitution::{
87//!     CharterAnalyzer, CharterClaimFacts, CharterRight,
88//! };
89//! use legalis_ca::common::Province;
90//!
91//! // Charter analysis
92//! let claim = CharterClaimFacts { /* ... */ };
93//! let result = CharterAnalyzer::analyze(&claim);
94//!
95//! // Division of powers
96//! use legalis_ca::constitution::{DivisionAnalyzer, DivisionFacts};
97//! let facts = DivisionFacts { /* ... */ };
98//! let result = DivisionAnalyzer::analyze(&facts);
99//! ```
100//!
101//! ## Key Cases Implemented
102//!
103//! - **R v Oakes** \[1986\] 1 SCR 103 (s.1 test)
104//! - **Haida Nation v BC** \[2004\] 3 SCR 511 (duty to consult)
105//! - **Tsilhqot'in Nation v BC** \[2014\] 2 SCR 256 (Aboriginal title)
106//! - **Reference re Secession of Quebec** \[1998\] 2 SCR 217 (constitutional principles)
107//! - **Carter v Canada** \[2015\] 1 SCR 331 (s.7 security of person)
108//! - **R v Jordan** \[2016\] 1 SCR 631 (s.11(b) trial delay)
109//! - **Bhasin v Hrynew** \[2014\] 3 SCR 494 (good faith in contracts)
110//! - **Tercon v BC** \[2010\] 1 SCR 69 (exclusion clauses)
111//! - **Hunter Engineering v Syncrude** \[1989\] 1 SCR 426 (fundamental breach)
112//! - **Cooper v Hobart** \[2001\] SCC 79 (Anns/Cooper duty of care test)
113//! - **Clements v Clements** \[2012\] SCC 32 (material contribution causation)
114//! - **Mustapha v Culligan** \[2008\] SCC 27 (psychological harm remoteness)
115//! - **Grant v Torstar** \[2009\] SCC 61 (responsible communication defence)
116//! - **Andrews v Grand & Toy** \[1978\] SCC (non-pecuniary damages cap)
117//! - **Bardal v Globe & Mail** \[1960\] (reasonable notice factors)
118//! - **671122 Ontario v Sagaz** \[2001\] SCC 59 (employee vs. contractor)
119//! - **McKinley v BC Tel** \[2001\] SCC 38 (contextual just cause)
120//! - **Wallace v United Grain Growers** \[1997\] SCC 46 (bad faith dismissal)
121//! - **Keays v Honda** \[2008\] SCC 39 (aggravated damages)
122//! - **Potter v NB Legal Aid** \[2015\] SCC 10 (constructive dismissal)
123//! - **BC v BCGSEU (Meiorin)** \[1999\] SCC 48 (BFOR test)
124
125#![deny(missing_docs)]
126#![warn(clippy::all)]
127
128/// Common utilities (provinces, calendar, court hierarchy)
129///
130/// Covers:
131/// - Province and territory enumeration
132/// - Canadian statutory holidays by province
133/// - Court hierarchy and precedent
134/// - Statute references
135/// - Official languages
136pub mod common;
137
138/// Constitutional Law (Charter, Division of Powers)
139///
140/// Covers:
141/// - Canadian Charter of Rights and Freedoms
142/// - Section 1 Oakes test justification
143/// - Division of powers (ss.91-92)
144/// - POGG (Peace, Order, Good Government)
145/// - Constitutional doctrines (pith and substance, paramountcy, IJI)
146/// - Aboriginal and treaty rights (s.35)
147pub mod constitution;
148
149/// Contract Law (Common Law + Quebec Civil Law)
150///
151/// Covers:
152/// - Contract formation (offer, acceptance, consideration)
153/// - Contract terms (conditions, warranties, innominate terms)
154/// - Breach and remedies (Hadley v Baxendale, Tercon framework)
155/// - Quebec obligations (Civil Code of Quebec)
156/// - Good faith (Bhasin v Hrynew, CM Callow v Zollinger)
157/// - Consumer protection (provincial statutes)
158pub mod contract;
159
160/// Tort Law (Common Law)
161///
162/// Covers:
163/// - Negligence (Anns/Cooper two-stage test)
164/// - Duty of care, standard of care, causation, remoteness
165/// - Damages (non-pecuniary cap from trilogy)
166/// - Occupiers' liability (provincial OLA statutes)
167/// - Defamation (responsible communication - Grant v Torstar)
168pub mod tort;
169
170/// Employment Law (Federal + Provincial)
171///
172/// Covers:
173/// - Employment status (Sagaz test)
174/// - Provincial employment standards (ESA)
175/// - Federal employment (Canada Labour Code)
176/// - Human Rights Codes (duty to accommodate, Meiorin)
177/// - Reasonable notice (Bardal factors)
178/// - Just cause (McKinley contextual approach)
179/// - Wrongful dismissal (Wallace, Keays v Honda)
180/// - Constructive dismissal (Potter)
181pub mod employment;
182
183/// Criminal Law (Criminal Code)
184///
185/// Covers:
186/// - Homicide offences (murder, manslaughter, criminal negligence)
187/// - Assault offences (common to aggravated)
188/// - Sexual offences
189/// - Property offences (theft, fraud, break and enter)
190/// - Defences (self-defence, necessity, duress, NCR)
191/// - Sentencing principles (s.718)
192/// - Gladue factors for Indigenous offenders (s.718.2(e))
193/// - Charter rights in criminal process
194pub mod criminal;
195
196/// Family Law (Divorce Act + Provincial)
197///
198/// Covers:
199/// - Divorce (grounds under s.8 Divorce Act)
200/// - Parenting arrangements (decision-making, parenting time)
201/// - Best interests of child analysis (s.16)
202/// - Family violence considerations
203/// - Child Support Guidelines
204/// - Spousal Support Advisory Guidelines (SSAG)
205/// - Relocation (Gordon v Goertz)
206pub mod family;
207
208/// Property Law (Real Property + Aboriginal Title)
209///
210/// Covers:
211/// - Land classification (freehold, leasehold, condominium)
212/// - Land registration (Torrens, Registry, Land Titles)
213/// - Interests in land (easements, covenants, mortgages)
214/// - Aboriginal title (Tsilhqot'in test: occupation, continuity, exclusivity)
215/// - Duty to consult (Haida Nation spectrum)
216/// - Conveyancing process
217/// - Expropriation
218pub mod property;
219
220/// Corporate Law (CBCA + Provincial)
221///
222/// Covers:
223/// - Federal incorporation (CBCA)
224/// - Provincial incorporation
225/// - Director duties (fiduciary duty, duty of care)
226/// - Business judgment rule (Peoples v Wise)
227/// - Stakeholder interests (BCE Inc)
228/// - Oppression remedy (s.241 CBCA)
229/// - Derivative action (s.239 CBCA)
230/// - Fundamental changes (amalgamation, arrangement)
231pub mod corporate;
232
233/// Reasoning Engine (legalis-core integration)
234///
235/// Covers:
236/// - Canadian reasoning engine with statute loading
237/// - Constitutional verification (Charter, division of powers)
238/// - Inter-provincial conflict of laws
239/// - Bijural interoperability (common law / civil law)
240pub mod reasoning;
241
242// Re-exports for convenience
243pub use common::{
244    BilingualRequirement, CanadianCalendar, CanadianTimeZone, CaseCitation, Court, Holiday,
245    JurisdictionalLevel, LegalSystem, OfficialLanguage, Province, StatuteReference,
246};
247
248pub use constitution::{
249    // Aboriginal Rights
250    AboriginalRight,
251    // Charter
252    CharterAnalyzer,
253    CharterClaimFacts,
254    CharterClaimResult,
255    CharterRemedy,
256    CharterRight,
257    // Division of Powers
258    ConflictType,
259    ConflictingLaw,
260    // Cases
261    ConstitutionalCase,
262    ConstitutionalDoctrine,
263    // Errors
264    ConstitutionalError,
265    ConstitutionalResult,
266    DivisionAnalyzer,
267    DivisionFacts,
268    DivisionResult,
269    EnactingBody,
270    FederalPower,
271    GovernmentAction,
272    HeadOfPower,
273    IjiAnalysis,
274    MinimalImpairment,
275    OakesAnalyzer,
276    OakesTest,
277    ParamountcyAnalysis,
278    PithAndSubstance,
279    PoggAnalysis,
280    PoggAnalyzer,
281    PoggBranch,
282    PressAndSubstantial,
283    ProportionalityAnalysis,
284    ProportionalityStrictoSensu,
285    ProvincialPower,
286    RationalConnection,
287    // Statute builders
288    create_charter_statute,
289    create_constitution_1867_statute,
290    create_constitution_1982_statute,
291};
292
293pub use contract::{
294    // Formation
295    Acceptance,
296    // Breach
297    BreachAnalyzer,
298    BreachFacts,
299    BreachResult,
300    BreachType,
301    CapacityIssue,
302    CapacityStatus,
303    // Quebec Civil Law
304    CcqConcept,
305    CcqContractType,
306    CommunicationMethod,
307    Consideration,
308    // Cases
309    ContractArea,
310    ContractCase,
311    ContractContext,
312    // Errors
313    ContractError,
314    ContractRemedy,
315    ContractResult,
316    // Terms
317    ContractTerm,
318    DamagesAnalyzer,
319    DamagesCalculation,
320    DamagesFacts,
321    DamagesResult,
322    // Vitiating Factors
323    DuressType,
324    ExclusionClause,
325    FormationAnalyzer,
326    FormationElement,
327    FormationFacts,
328    FormationResult,
329    IntentionEvidence,
330    LegalityStatus,
331    MisrepresentationType,
332    MistakeType,
333    Offer,
334    OfferAnalyzer,
335    OfferClassificationFacts,
336    OfferClassificationResult,
337    OfferContext,
338    TermClassification,
339    TermType,
340    VitiatingFactor,
341    // Statute builders
342    create_ccq_consent,
343    create_ccq_obligations,
344    create_ccq_warranty_quality,
345    create_consumer_protection_act,
346    create_contract_statutes,
347    create_sale_of_goods_act,
348};
349
350pub use tort::{
351    // Occupiers' liability
352    ApplicableLaw,
353    // Standard of care
354    BreachFactor,
355    // Causation
356    CausationAnalyzer,
357    CausationFacts,
358    CausationResult,
359    CausationTest,
360    CommonLawEntrantStatus,
361    // Defamation
362    DamagesAssessment,
363    DamagesType,
364    DefamationAnalyzer,
365    DefamationDefence,
366    DefamationDefenceClaim,
367    DefamationElements,
368    DefamationFacts,
369    DefamationResult,
370    DefamationType,
371    DefenceAnalysis,
372    // Duty of care
373    DutyOfCareAnalyzer,
374    DutyOfCareFacts,
375    DutyOfCareResult,
376    DutyOfCareStage,
377    EntrantStatus,
378    EntryPurpose,
379    HazardDescription,
380    HazardType,
381    InterveningCause,
382    // Full negligence
383    NegligenceAnalyzer,
384    NegligenceDamagesFacts,
385    NegligenceDamagesResult,
386    // Defences
387    NegligenceDefence,
388    NegligenceFacts,
389    NegligenceResult,
390    // Damages
391    NonPecuniaryCap,
392    // Nuisance
393    NuisanceFactor,
394    NuisanceType,
395    OccupierStatus,
396    OccupiersLiabilityAnalyzer,
397    OccupiersLiabilityFacts,
398    OccupiersLiabilityResult,
399    OlaDefence,
400    OlaDuty,
401    OlaStatute,
402    PolicyNegation,
403    ProximityFactor,
404    PublicationMedium,
405    PublicationReach,
406    RecognizedDutyCategory,
407    // Remoteness
408    RemotenessAnalyzer,
409    RemotenessFacts,
410    RemotenessResult,
411    RemotenessTest,
412    ResponsibleCommunicationFactors,
413    StandardOfCare,
414    StandardOfCareAnalyzer,
415    StandardOfCareFacts,
416    StandardOfCareResult,
417    StatementContext,
418    // Cases
419    TortArea,
420    TortCase,
421    TortDamages,
422    TortDamagesAnalyzer,
423    // Errors
424    TortError,
425    TortResult,
426    // Statute builders
427    create_ccq_civil_liability,
428    create_negligence_statute,
429    create_ola_statute,
430};
431
432pub use employment::{
433    AccommodationType,
434    BardalFactor,
435    DiscriminationType,
436    DutyToAccommodate,
437    // Cases
438    EmploymentArea,
439    EmploymentCase,
440    // Errors
441    EmploymentError,
442    EmploymentJurisdiction,
443    EmploymentResult,
444    // Employment standards
445    EmploymentStandards,
446    // Employment status
447    EmploymentStatus,
448    FederalIndustry,
449    HardshipFactor,
450    JustCauseAnalyzer,
451    JustCauseFacts,
452    JustCauseGround,
453    JustCauseResult,
454    MitigationRequirement,
455    // Human rights
456    ProtectedGround,
457    // Analyzers
458    ReasonableNoticeAnalyzer,
459    ReasonableNoticeFacts,
460    ReasonableNoticeResult,
461    SagazFactor,
462    StandardType,
463    // Termination
464    TerminationType,
465    WrongfulDismissalAnalyzer,
466    // Wrongful dismissal
467    WrongfulDismissalDamages,
468    WrongfulDismissalFacts,
469    WrongfulDismissalResult,
470    // Statute builders
471    create_canada_labour_code,
472    create_canadian_human_rights_act,
473    create_employment_standards_act,
474    create_employment_statutes,
475    create_federal_employment_statutes,
476    create_human_rights_code,
477};
478
479pub use criminal::{
480    AccusedElection,
481    ActusReus,
482    AggravatingFactor,
483    AssaultAnalyzer,
484    AssaultFacts,
485    AssaultResult,
486    AssaultType,
487    BailType,
488    BodilyHarmLevel,
489    BreachSeriousness,
490    BreakEnterType,
491    // Supporting types
492    CausationFacts as CriminalCausationFacts,
493    CharterRemedy as CriminalCharterRemedy,
494    // Cases
495    CriminalArea,
496    CriminalCase,
497    // Charter rights
498    CriminalCharterRight,
499    // Defences
500    CriminalDefence,
501    // Errors
502    CriminalError,
503    CriminalResult,
504    CrownElection,
505    DefenceAnalyzer,
506    DefenceFacts,
507    DefenceOutcome,
508    DefenceResult,
509    DetentionGround,
510    DuressElements,
511    DutySource,
512    // Homicide specifics
513    FirstDegreeFactor,
514    FraudType,
515    GladueAnalysis,
516    GladueFactor,
517    GrantAnalysis,
518    HarmLevel,
519    // Analyzers
520    HomicideAnalyzer,
521    HomicideFacts,
522    HomicideResult,
523    HomicideType,
524    ImpactLevel,
525    IntentionType,
526    InterveningAct,
527    IntoxicationDefence,
528    ManslaughterType,
529    // Mens rea
530    MensRea,
531    MentalDisorderElements,
532    MentalStateFacts,
533    MitigatingFactor,
534    // Procedure
535    ModeOfTrial,
536    NecessityElements,
537    OffenceCategory,
538    // Offence types
539    OffenceType,
540    OffenderInfo,
541    PlannedDeliberateFacts,
542    PriorConviction,
543    ProvocationFacts,
544    RecklessnessType,
545    SelfDefenceElements,
546    SentenceRange,
547    // Sentencing
548    SentenceType,
549    SentencingAnalyzer,
550    SentencingFacts,
551    SentencingPrinciple,
552    SentencingResult,
553    SocietalInterest,
554    TheftType,
555    VictimImpact,
556    // Statute builders
557    create_cdsa,
558    create_charter_criminal_rights,
559    create_criminal_code,
560    create_criminal_statutes,
561    create_ycja,
562};
563
564pub use family::{
565    ArrangementFunctioning,
566    // Best interests analysis
567    BestInterestsAnalyzer,
568    BestInterestsFactor,
569    BestInterestsFacts,
570    BestInterestsResult,
571    ChildInfo,
572    // Child support
573    ChildSupportAnalyzer,
574    ChildSupportCalculationType,
575    ChildSupportFacts,
576    ChildSupportResult,
577    ChildSupportType,
578    ChildViews,
579    CurrentArrangement,
580    DecisionMaker,
581    DecisionMakingAllocation,
582    DivorceGround,
583    DivorceStage,
584    DurationRange,
585    ExcludedPropertyType,
586    FactorAnalysis,
587    FactorWeight,
588    // Cases
589    FamilyArea,
590    FamilyCase,
591    // Errors
592    FamilyError,
593    FamilyResult,
594    FamilyViolence,
595    FamilyViolenceAllegation,
596    FlexibilityLevel,
597    // Marriage/Divorce
598    MarriageStatus,
599    MaturityLevel,
600    ParentInfo,
601    // Parenting
602    ParentingArrangement,
603    ParentingTimeSchedule,
604    // Property
605    PropertyClassification,
606    ProposedArrangement,
607    // Relocation
608    RelocationAnalyzer,
609    RelocationFacts,
610    RelocationReason,
611    RelocationRequest,
612    RelocationResult,
613    Section7Expense,
614    Section7ExpenseItem,
615    // Spousal support
616    SpousalSupportAnalyzer,
617    SpousalSupportBasis,
618    SpousalSupportFacts,
619    SpousalSupportRange,
620    SpousalSupportResult,
621    SpousalSupportType,
622    SsagFormula,
623    SupportDuration,
624    UndueHardshipClaim,
625    UndueHardshipFactor,
626    ValuationDate,
627    ViolenceFinding,
628    ViolenceImpact,
629    WillingnessLevel,
630    // Statute builders
631    create_child_support_guidelines,
632    create_divorce_act,
633    create_family_law_act,
634    create_family_statutes,
635    create_ssag,
636};
637
638pub use property::{
639    // Aboriginal title analysis
640    AboriginalTitleAnalyzer,
641    AboriginalTitleElement,
642    AboriginalTitleFacts,
643    AboriginalTitleResult,
644    // Aboriginal title types
645    AboriginalTitleStatus,
646    ClaimStrength,
647    CoOwnershipType,
648    // Consultation analysis
649    ConsultationAnalyzer,
650    ConsultationFacts,
651    ConsultationLevel,
652    ConsultationResult,
653    ConsultationStep,
654    ConsultationTrigger,
655    ContinuityFactor,
656    // Conveyancing
657    ConveyancingStage,
658    EasementCreation,
659    EasementType,
660    EstateType,
661    ExclusivityFactor,
662    ImpactSeverity,
663    InfringementJustification,
664    // Interests in land
665    InterestInLand,
666    // Registration
667    LandRegistrationSystem,
668    LienType,
669    OccupationEvidence,
670    OccupationFactor,
671    // Cases
672    PropertyArea,
673    PropertyCase,
674    // Errors
675    PropertyError,
676    PropertyResult,
677    // Land types
678    PropertyType,
679    StandardCondition,
680    TenancyPeriod,
681    TitleAssurance,
682    TitleDefect,
683    TitleException,
684    TreatyStatus,
685    // Statute builders
686    create_condominium_act,
687    create_construction_lien_act,
688    create_expropriation_act,
689    create_fnlma,
690    create_indian_act,
691    create_land_titles_act,
692    create_planning_act,
693    create_property_statutes,
694};
695
696pub use corporate::{
697    AllegedConduct,
698    AmalgamationType,
699    ApprovalRequirement,
700    BusinessJudgmentElement,
701    BusinessJudgmentFactors,
702    CompensationType,
703    ComplainantInfo,
704    ComplainantType,
705    ConductType,
706    ConflictDetails,
707    ConflictNature,
708    ContinuanceDirection,
709    // Cases
710    CorporateArea,
711    CorporateCase,
712    // Errors
713    CorporateError,
714    CorporateResult,
715    CorporateStatus,
716    CorporateType,
717    DecisionContext,
718    DecisionMakerType,
719    DerivativeRequirement,
720    DirectorDisqualification,
721    DirectorDuty,
722    // Director duty analysis
723    DirectorDutyAnalyzer,
724    DirectorDutyFacts,
725    DirectorDutyResult,
726    // Director duties
727    DirectorQualification,
728    DutyBreach,
729    ExitOffer,
730    ExpectationSource,
731    ExpectationStrength,
732    FiduciaryBreachType,
733    // Fundamental changes
734    FundamentalChange,
735    ImpactNature,
736    ImpactSeverity as CorporateImpactSeverity,
737    // Incorporation types
738    IncorporationJurisdiction,
739    InformationLevel,
740    // Oppression analysis
741    OppressionAnalyzer,
742    OppressionConduct,
743    OppressionContext,
744    OppressionElement,
745    OppressionFacts,
746    OppressionRemedy,
747    OppressionResult,
748    ProspectusExemption,
749    ReasonableExpectation,
750    ReportingIssuerStatus,
751    // Securities
752    SecurityType,
753    ShareClass,
754    SharePurchaser,
755    ShareRight,
756    ShareStructure,
757    // Shareholder remedies
758    ShareholderRemedy,
759    StakeholderAnalysis,
760    StakeholderImpact,
761    StakeholderInterest,
762    // Stakeholder types
763    StakeholderType,
764    ValuationBasis,
765    // Statute builders
766    create_cbca,
767    create_cnca,
768    create_competition_act,
769    create_corporate_statutes,
770    create_investment_canada_act,
771    create_provincial_corporations_act,
772    create_securities_act,
773};
774
775pub use reasoning::{
776    ApplicableLawResult,
777    // Interoperability
778    CanadianInterop,
779    // Reasoning engine
780    CanadianReasoningEngine,
781    CivilLawConcept,
782    CommonLawConcept,
783    ConflictType as ReasoningConflictType,
784    ConstitutionalIssue,
785    // Constitutional verifier
786    ConstitutionalVerifier,
787    GoverningLaw,
788    InterProvincialFacts,
789    IssueType,
790    LegalAreaType,
791    ReasoningJurisdiction,
792    ReasoningQuery,
793    ReasoningResult,
794    StatuteConflict,
795    VerificationContext,
796    VerificationResult,
797    create_federal_engine,
798    // Convenience functions
799    create_provincial_engine,
800    determine_applicable_law,
801    verify_statute,
802};