sig
  val self : Project.Computation.t
  val select :
    Kind.how ->
    Project.Computation.selection -> Project.Computation.selection
  val depend : Project.Computation.t -> unit
  val mark_as_computed : ?project:Project.project -> unit -> unit
  val is_computed : ?project:Project.project -> unit -> bool
  val do_not_save : unit -> unit
  module Datatype : Project.Datatype.S
  val name : string
  type elt
  val add : Computation.SET_REF_OUTPUT.elt -> unit
  val mem : Computation.SET_REF_OUTPUT.elt -> bool
  val is_empty : unit -> bool
  val fold : (Computation.SET_REF_OUTPUT.elt -> '-> 'a) -> '-> 'a
  val iter : (Computation.SET_REF_OUTPUT.elt -> unit) -> unit
end