sig val push : (unit -> unit) -> unit end