val reasons : t ‑> (Jenga_lib.Reason.t * Jenga_lib.Goal.t list) list
The list of individual errors together with dependency traces.
(a, b,c,d
) means
"error 'a' happened at subgoal 'd',
which was a part of subgoal 'c',
which was a part of subgoal 'b'".
val reasons_here : t ‑> Jenga_lib.Reason.t list
The list of errors that happened at the current subgoal.
This should be true:
reasons_here t = List.filter_map (reasons t) ~f:(function
| (r, []) -> Some r
| (r, _) -> None)
val needs_in_error : t ‑> Jenga_lib.Goal.Set.t
This is a superset of the needs listed in reasons
because a single Reason.t can be reachable by multiple path,
all of needs along which are going to be in error.
val create : Jenga_lib.Reason.t ‑> t
val subgoal : Jenga_lib.Goal.t ‑> t ‑> t