Module Harpoon.Directive

type t =
  1. | Intros of {
    1. location : Beluga_syntax.Syncom.Location.t;
    2. hypothetical : Hypothetical.t;
    }
  2. | Solve of {
    1. location : Beluga_syntax.Syncom.Location.t;
    2. solution : Synprs__.Synprs_definition.Comp.Expression_object.t;
    }
  3. | Split of {
    1. location : Beluga_syntax.Syncom.Location.t;
    2. scrutinee : Synprs__.Synprs_definition.Comp.Expression_object.t;
    3. branches : Split_branch.t Support.List1.t;
    }
  4. | Impossible of {
    1. location : Beluga_syntax.Syncom.Location.t;
    2. scrutinee : Synprs__.Synprs_definition.Comp.Expression_object.t;
    }
  5. | Suffices of {
    1. location : Beluga_syntax.Syncom.Location.t;
    2. scrutinee : Synprs__.Synprs_definition.Comp.Expression_object.t;
    3. branches : Suffices_branch.t Support.List.t;
    }