type t
val headline : string -> string
val create : ?width:int -> ?delay:float -> animate:bool -> Syntax.t -> t
val tick : t -> unit
val notify : t -> Engine.phase -> unit
val frame : width:int -> Engine.witness -> int -> string list
val play : t -> Engine.witness -> unit
val contrast : t -> Engine.witness -> Engine.repair -> unit
val outcomes : t -> (int64 * int64) list -> (int64 * int64) list -> unit
val finish : t -> unit
val phase : t -> string -> unit
val graph : t -> Syntax.location list -> Machine.graph