5Understanding the Why

... why English is a bad programming language

5.1 Why Type Safety Matters for Law

The Problem: Legal drafting often suffers from ambiguity and inconsistency.

Example ambiguity:

"The charity must notify the person responsible within 30 days."

Questions arise:

  • Which person? The governor? The secretary? The Commissioner?

  • 30 days from what event?

  • What form should the notification take?

L4's type safety prevents these problems:

DECLARE NotificationTarget IS ONE OF
    Governor HAS name IS A STRING
    Commissioner
    Secretary HAS name IS A STRING

DECLARE NotificationEvent IS ONE OF  
    GovernorAppointment HAS date IS A Date
    ConvictionReported HAS convictionDate IS A Date
    AddressChange HAS changeDate IS A Date

DECLARE Actor IS ONE OF
    CharityActor HAS charity IS A RegisteredCharity

DECLARE Action IS ONE OF
    NotifyPerson HAS target IS A NotificationTarget
                     content IS A STRING

GIVEN charity IS A RegisteredCharity
      notificationContent IS A STRING
      event IS A NotificationEvent
GIVETH A PROVISION Actor Action
`notification obligation` MEANS
  PARTY CharityActor charity
  MUST NotifyPerson Commissioner notificationContent
  WITHIN 30  -- days from event date
  HENCE FULFILLED
  LEST FULFILLED

Benefits:

  • Eliminates ambiguity: Exactly which person, exactly which event

  • Prevents inconsistency: Can't accidentally use wrong notification type

  • Enables automation: Computer can check compliance automatically

5.2 Why PROVISION Over Simple Rules

Traditional legal drafting: Each section states an isolated obligation.

Problem: Real legal processes are interconnected workflows, not isolated duties.

Example - Annual Return Process:

  • Art 13(7): Charity must file return

  • Art 13(8): Commissioner must publish data

  • Art 27(1): Commissioner may issue Required Steps Notice for non-compliance

  • Art 16(1): Commissioner may deregister for continued non-compliance

These are connected steps in a process, not separate obligations.

CONTRACT approach captures the connections:

Benefits:

  • Captures legal reality: Shows how legal processes actually work

  • Enables simulation: Can test complete workflows, not just isolated rules

  • Supports drafting: Reveals gaps and inconsistencies in legal design

5.3 Why Modular Architecture Works

Legal reality: Modern regulation involves primary law + multiple subsidiary instruments.

Jersey Charities Example:

  • Primary Law: Charities (Jersey) Law 2014

  • Core Financial Info Regs 2018: Defines financial reporting requirements

  • Additional Info Order 2018: Adds governor payment reporting

  • Timing Order 2019: Sets annual return deadlines

  • Reasons and Time Limits Order 2020: Appeals procedures

L4 modular approach:

Benefits:

  • Mirrors legal structure: Matches how law is actually organized

  • Supports collaboration: Different teams can work on different modules

  • Enables updates: Can amend subsidiary regulations without changing primary law

  • Reduces complexity: Each file focuses on its specific domain

5.4 Common Patterns in Regulatory Law

Recognition Patterns (registration, licensing):

  • Application → Assessment → Decision → Registration → Ongoing compliance

Ongoing Compliance Patterns (reporting, inspection):

  • Periodic obligations → Monitoring → Non-compliance → Enforcement → Resolution

Enforcement Patterns (sanctions, appeals):

  • Detection → Investigation → Decision → Sanction → Appeal → Final resolution

These patterns appear across different regulatory domains (charities, financial services, professional regulation, etc.)

L4 captures these patterns consistently:

Last updated