type subcommand = | Idea | List | Move | Retire | Tag | Tag_add | Tag_colour | Tag_del | Tag_list | Today | Todo let subcommand_of_string = function | "idea" -> Idea | "list" -> List | "move" -> Move | "retire" -> Retire | "tag" -> Tag | "tag-add" -> Tag_add | "tag-color" | "tag-colour" -> Tag_colour | "tag-del" | "tag-delete" | "tag-rm" -> Tag_del | "tag-list" -> Tag_list | "task" | "todo" -> Todo | "today" -> Today | _ -> invalid_arg "subcommand_of_string"