sig
  type kind =
      [ `Line_loop
      | `Line_strip
      | `Line_strip_adjacency
      | `Lines
      | `Lines_adjacency
      | `Points
      | `Triangle_fan
      | `Triangle_strip
      | `Triangle_strip_adjacency
      | `Triangles
      | `Triangles_adjacency ]
  val pp_kind : Format.formatter -> Lit.Prim.kind -> unit
  type t = Lit.prim
  val create :
    ?tr:Gg.M4.t ->
    ?name:string ->
    ?first:int ->
    ?count:int ->
    ?index:Lit.Buf.t -> Lit.Prim.kind -> Lit.attr list -> Lit.prim
  val kind : Lit.prim -> Lit.Prim.kind
  val name : Lit.prim -> string
  val index : Lit.prim -> Lit.Buf.t option
  val first : Lit.prim -> int
  val count : Lit.prim -> int option
  val count_now : Lit.prim -> int
  val tr : Lit.prim -> Gg.M4.t
  val pp : Format.formatter -> Lit.prim -> unit
  val attrs : Lit.prim -> Lit.attr list
  val iter : (Lit.attr -> unit) -> Lit.prim -> unit
  val fold : ('-> Lit.attr -> 'a) -> '-> Lit.prim -> 'a
  val mem : Lit.prim -> string -> bool
  val find : Lit.prim -> string -> Lit.attr option
  val get : Lit.prim -> string -> Lit.attr
end