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