struct
let building = function `Building _ -> true | _ -> false
let tried_to_start = function `Tried_to_start _ -> true | _ -> false
let started_running = function `Started_running _ -> true | _ -> false
let starting = function `Starting _ -> true | _ -> false
let still_building = function `Still_building _ -> true | _ -> false
let still_running = function `Still_running _ -> true | _ -> false
let ran_successfully = function `Ran_successfully _ -> true | _ -> false
let successfully_did_nothing = function `Successfully_did_nothing _ -> true | _ -> false
let active = function `Active _ -> true | _ -> false
let tried_to_eval_condition = function `Tried_to_eval_condition _ -> true | _ -> false
let verified_success = function `Verified_success _ -> true | _ -> false
let already_done = function `Already_done _ -> true | _ -> false
let dependencies_failed = function `Dependencies_failed _ -> true | _ -> false
let failed_running = function `Failed_running _ -> true | _ -> false
let failed_to_kill = function `Failed_to_kill _ -> true | _ -> false
let failed_to_start = function `Failed_to_start _ -> true | _ -> false
let failed_to_eval_condition = function `Failed_to_eval_condition _ -> true | _ -> false
let killing = function `Killing _ -> true | _ -> false
let tried_to_kill = function `Tried_to_kill _ -> true | _ -> false
let did_not_ensure_condition = function `Did_not_ensure_condition _ -> true | _ -> false
let killed = function `Killed _ -> true | _ -> false
let finished = function `Finished _ -> true | _ -> false
let passive = function `Passive _ -> true | _ -> false
let killable = function
| #killable_state -> true
| _ -> false
let finished_because_dependencies_died =
function
| `Finished {previous_state = (`Dependencies_failed _); _ } -> true
| other -> false
end