sig
  val of_tags : Tags.t -> Command.spec
  val of_tag_list : Tags.elt list -> Command.spec
  val flag : Tags.elt list -> Command.spec -> unit
  val add : '-> 'a list -> 'a list
  val remove : '-> 'a list -> 'a list
  val to_spec : (string * string) list -> Command.spec
  val get_flags : unit -> (Tags.t * Command.spec) list
end