let rec print f =
function
| Cmd spec -> Format.pp_print_string f (string_of_command_spec spec)
| Seq seq -> List.print print f seq
| Nop -> Format.pp_print_string f "nop"
| Echo(texts, dest_path) ->
Format.fprintf f "@[<2>Echo(%a,@ %a)@]"
(List.print print_escaped_string) texts print_escaped_string dest_path