open Utilities.Aliases type status = Exit of int | Unevaluated type command = { name: string; arguments: string list; status: status } let format (command: command): string = command.name ^ " with arguments: " ^ (String.concat " " command.arguments) ^ " and result " ^ match command.status with | Exit n -> str_int n | Unevaluated -> "Not evaluated" let format_many (commands: command list): string list = List.map format commands