`sig
type kind =
[ `color | `edge_flag | `index | `normal | `texture_coord | `vertex ]
val edge_flag : [ `bitmap ] Raw.t -> unit
val tex_coord :
[< `four | `one | `three | `two ] ->
[< `double | `float | `int | `short ] Raw.t -> unit
val color :
[< `four | `three ] ->
[< `byte | `double | `float | `int | `short | `ubyte | `uint | `ushort ]
Raw.t -> unit
val index : [< `double | `float | `int | `short | `ubyte ] Raw.t -> unit
val normal : [< `byte | `double | `float | `int | `short ] Raw.t -> unit
val vertex :
[< `four | `three | `two ] ->
[< `double | `float | `int | `short ] Raw.t -> unit
external enable : GlArray.kind -> unit = "ml_glEnableClientState"
external disable : GlArray.kind -> unit = "ml_glDisableClientState"
external element : int -> unit = "ml_glArrayElement"
external draw_arrays : GlDraw.shape -> first:int -> count:int -> unit
= "ml_glDrawArrays"
external draw_elements :
GlDraw.shape -> count:int -> [< `ubyte | `uint | `ushort ] Raw.t -> unit
= "ml_glDrawElements"
end`