sig
  type kind = [ `OCamldoc ]
  val pp_kind : Format.formatter -> As_part_doc.kind -> unit
  val kind : [< `Doc ] As_part.t -> [ `OCamldoc ]
  val ocamldoc :
    [< As_part.kind ] As_part.t -> [< As_part.kind > `Doc ] As_part.t option
  val default : [< `Unit ] As_part.t -> bool
  val dev : [< `Unit ] As_part.t -> bool
  val v :
    ?usage:As_part.usage ->
    ?exists:bool As_conf.value ->
    ?args:As_args.t ->
    ?keep:([< `Unit ] As_part.t -> bool) ->
    string ->
    As_part_doc.kind ->
    [< `Bin | `Lib | `Pkg | `Unit ] As_part.t list ->
    [< As_part.kind > `Doc ] As_part.t
end