(string -> string -> unit) -> (string -> bool -> string -> unit) -> (unit -> unit) ->
(string -> string -> unit) -> (string -> bool -> string -> unit) -> (unit -> unit) ->
unit
(string -> string -> unit) -> (string -> bool -> string -> unit) -> (unit -> unit) ->
(string -> string -> unit) -> (string -> bool -> string -> unit) -> (unit -> unit) ->
unit