sig
  type 'a t
  val noarg : ('a -> unit) -> 'a Command.Flag.Action.t
  val arg : ('a -> string -> unit) -> 'a Command.Flag.Action.t
  val rest : ('a -> string list -> unit) -> 'a Command.Flag.Action.t
  val of_type :
    'a Command.Flag.Type.t -> ('b -> 'a -> unit) -> 'b Command.Flag.Action.t
end