Below is the API for the OCaml standard library. It's directly copied over from the OCaml Manual, formatted to the Reason syntax and styled accordingly. The API docs are work-in-progress; we'll be polishing these gradually!
If you're targeting JavaScript, the API docs for BuckleScript includes all of below, plus JS-specific APIs.
sig type float32_elt = Float32_elt type float64_elt = Float64_elt type int8_signed_elt = Int8_signed_elt type int8_unsigned_elt = Int8_unsigned_elt type int16_signed_elt = Int16_signed_elt type int16_unsigned_elt = Int16_unsigned_elt type int32_elt = Int32_elt type int64_elt = Int64_elt type int_elt = Int_elt type nativeint_elt = Nativeint_elt type complex32_elt = Complex32_elt type complex64_elt = Complex64_elt type ('a, 'b) kind = Float32 : (float, Bigarray.float32_elt) Bigarray.kind | Float64 : (float, Bigarray.float64_elt) Bigarray.kind | Int8_signed : (int, Bigarray.int8_signed_elt) Bigarray.kind | Int8_unsigned : (int, Bigarray.int8_unsigned_elt) Bigarray.kind | Int16_signed : (int, Bigarray.int16_signed_elt) Bigarray.kind | Int16_unsigned : (int, Bigarray.int16_unsigned_elt) Bigarray.kind | Int32 : (int32, Bigarray.int32_elt) Bigarray.kind | Int64 : (int64, Bigarray.int64_elt) Bigarray.kind | Int : (int, Bigarray.int_elt) Bigarray.kind | Nativeint : (nativeint, Bigarray.nativeint_elt) Bigarray.kind | Complex32 : (Complex.t, Bigarray.complex32_elt) Bigarray.kind | Complex64 : (Complex.t, Bigarray.complex64_elt) Bigarray.kind | Char : (char, Bigarray.int8_unsigned_elt) Bigarray.kind val float32 : (float, Bigarray.float32_elt) Bigarray.kind val float64 : (float, Bigarray.float64_elt) Bigarray.kind val complex32 : (Complex.t, Bigarray.complex32_elt) Bigarray.kind val complex64 : (Complex.t, Bigarray.complex64_elt) Bigarray.kind val int8_signed : (int, Bigarray.int8_signed_elt) Bigarray.kind val int8_unsigned : (int, Bigarray.int8_unsigned_elt) Bigarray.kind val int16_signed : (int, Bigarray.int16_signed_elt) Bigarray.kind val int16_unsigned : (int, Bigarray.int16_unsigned_elt) Bigarray.kind val int : (int, Bigarray.int_elt) Bigarray.kind val int32 : (int32, Bigarray.int32_elt) Bigarray.kind val int64 : (int64, Bigarray.int64_elt) Bigarray.kind val nativeint : (nativeint, Bigarray.nativeint_elt) Bigarray.kind val char : (char, Bigarray.int8_unsigned_elt) Bigarray.kind type c_layout = C_layout_typ type fortran_layout = Fortran_layout_typ type 'a layout = C_layout : Bigarray.c_layout Bigarray.layout | Fortran_layout : Bigarray.fortran_layout Bigarray.layout val c_layout : Bigarray.c_layout Bigarray.layout val fortran_layout : Bigarray.fortran_layout Bigarray.layout module Genarray : sig type ('a, 'b, 'c) t external create : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> int array -> ('a, 'b, 'c) Bigarray.Genarray.t = "caml_ba_create" external num_dims : ('a, 'b, 'c) Bigarray.Genarray.t -> int = "caml_ba_num_dims" val dims : ('a, 'b, 'c) Bigarray.Genarray.t -> int array external nth_dim : ('a, 'b, 'c) Bigarray.Genarray.t -> int -> int = "caml_ba_dim" external kind : ('a, 'b, 'c) Bigarray.Genarray.t -> ('a, 'b) Bigarray.kind = "caml_ba_kind" external layout : ('a, 'b, 'c) Bigarray.Genarray.t -> 'c Bigarray.layout = "caml_ba_layout" external get : ('a, 'b, 'c) Bigarray.Genarray.t -> int array -> 'a = "caml_ba_get_generic" external set : ('a, 'b, 'c) Bigarray.Genarray.t -> int array -> 'a -> unit = "caml_ba_set_generic" external sub_left : ('a, 'b, Bigarray.c_layout) Bigarray.Genarray.t -> int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Genarray.t = "caml_ba_sub" external sub_right : ('a, 'b, Bigarray.fortran_layout) Bigarray.Genarray.t -> int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Genarray.t = "caml_ba_sub" external slice_left : ('a, 'b, Bigarray.c_layout) Bigarray.Genarray.t -> int array -> ('a, 'b, Bigarray.c_layout) Bigarray.Genarray.t = "caml_ba_slice" external slice_right : ('a, 'b, Bigarray.fortran_layout) Bigarray.Genarray.t -> int array -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Genarray.t = "caml_ba_slice" external blit : ('a, 'b, 'c) Bigarray.Genarray.t -> ('a, 'b, 'c) Bigarray.Genarray.t -> unit = "caml_ba_blit" external fill : ('a, 'b, 'c) Bigarray.Genarray.t -> 'a -> unit = "caml_ba_fill" val map_file : Unix.file_descr -> ?pos:int64 -> ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> bool -> int array -> ('a, 'b, 'c) Bigarray.Genarray.t end module Array1 : sig type ('a, 'b, 'c) t val create : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> int -> ('a, 'b, 'c) Bigarray.Array1.t external dim : ('a, 'b, 'c) Bigarray.Array1.t -> int = "%caml_ba_dim_1" external kind : ('a, 'b, 'c) Bigarray.Array1.t -> ('a, 'b) Bigarray.kind = "caml_ba_kind" external layout : ('a, 'b, 'c) Bigarray.Array1.t -> 'c Bigarray.layout = "caml_ba_layout" external get : ('a, 'b, 'c) Bigarray.Array1.t -> int -> 'a = "%caml_ba_ref_1" external set : ('a, 'b, 'c) Bigarray.Array1.t -> int -> 'a -> unit = "%caml_ba_set_1" external sub : ('a, 'b, 'c) Bigarray.Array1.t -> int -> int -> ('a, 'b, 'c) Bigarray.Array1.t = "caml_ba_sub" external blit : ('a, 'b, 'c) Bigarray.Array1.t -> ('a, 'b, 'c) Bigarray.Array1.t -> unit = "caml_ba_blit" external fill : ('a, 'b, 'c) Bigarray.Array1.t -> 'a -> unit = "caml_ba_fill" val of_array : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> 'a array -> ('a, 'b, 'c) Bigarray.Array1.t val map_file : Unix.file_descr -> ?pos:int64 -> ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> bool -> int -> ('a, 'b, 'c) Bigarray.Array1.t external unsafe_get : ('a, 'b, 'c) Bigarray.Array1.t -> int -> 'a = "%caml_ba_unsafe_ref_1" external unsafe_set : ('a, 'b, 'c) Bigarray.Array1.t -> int -> 'a -> unit = "%caml_ba_unsafe_set_1" end module Array2 : sig type ('a, 'b, 'c) t val create : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> int -> int -> ('a, 'b, 'c) Bigarray.Array2.t external dim1 : ('a, 'b, 'c) Bigarray.Array2.t -> int = "%caml_ba_dim_1" external dim2 : ('a, 'b, 'c) Bigarray.Array2.t -> int = "%caml_ba_dim_2" external kind : ('a, 'b, 'c) Bigarray.Array2.t -> ('a, 'b) Bigarray.kind = "caml_ba_kind" external layout : ('a, 'b, 'c) Bigarray.Array2.t -> 'c Bigarray.layout = "caml_ba_layout" external get : ('a, 'b, 'c) Bigarray.Array2.t -> int -> int -> 'a = "%caml_ba_ref_2" external set : ('a, 'b, 'c) Bigarray.Array2.t -> int -> int -> 'a -> unit = "%caml_ba_set_2" external sub_left : ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t -> int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t = "caml_ba_sub" external sub_right : ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t -> int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t = "caml_ba_sub" val slice_left : ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t val slice_right : ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array1.t external blit : ('a, 'b, 'c) Bigarray.Array2.t -> ('a, 'b, 'c) Bigarray.Array2.t -> unit = "caml_ba_blit" external fill : ('a, 'b, 'c) Bigarray.Array2.t -> 'a -> unit = "caml_ba_fill" val of_array : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> 'a array array -> ('a, 'b, 'c) Bigarray.Array2.t val map_file : Unix.file_descr -> ?pos:int64 -> ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> bool -> int -> int -> ('a, 'b, 'c) Bigarray.Array2.t external unsafe_get : ('a, 'b, 'c) Bigarray.Array2.t -> int -> int -> 'a = "%caml_ba_unsafe_ref_2" external unsafe_set : ('a, 'b, 'c) Bigarray.Array2.t -> int -> int -> 'a -> unit = "%caml_ba_unsafe_set_2" end module Array3 : sig type ('a, 'b, 'c) t val create : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> int -> int -> int -> ('a, 'b, 'c) Bigarray.Array3.t external dim1 : ('a, 'b, 'c) Bigarray.Array3.t -> int = "%caml_ba_dim_1" external dim2 : ('a, 'b, 'c) Bigarray.Array3.t -> int = "%caml_ba_dim_2" external dim3 : ('a, 'b, 'c) Bigarray.Array3.t -> int = "%caml_ba_dim_3" external kind : ('a, 'b, 'c) Bigarray.Array3.t -> ('a, 'b) Bigarray.kind = "caml_ba_kind" external layout : ('a, 'b, 'c) Bigarray.Array3.t -> 'c Bigarray.layout = "caml_ba_layout" external get : ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> 'a = "%caml_ba_ref_3" external set : ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> 'a -> unit = "%caml_ba_set_3" external sub_left : ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t -> int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t = "caml_ba_sub" external sub_right : ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t -> int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t = "caml_ba_sub" val slice_left_1 : ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t -> int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t val slice_right_1 : ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t -> int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array1.t val slice_left_2 : ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t val slice_right_2 : ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t external blit : ('a, 'b, 'c) Bigarray.Array3.t -> ('a, 'b, 'c) Bigarray.Array3.t -> unit = "caml_ba_blit" external fill : ('a, 'b, 'c) Bigarray.Array3.t -> 'a -> unit = "caml_ba_fill" val of_array : ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> 'a array array array -> ('a, 'b, 'c) Bigarray.Array3.t val map_file : Unix.file_descr -> ?pos:int64 -> ('a, 'b) Bigarray.kind -> 'c Bigarray.layout -> bool -> int -> int -> int -> ('a, 'b, 'c) Bigarray.Array3.t external unsafe_get : ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> 'a = "%caml_ba_unsafe_ref_3" external unsafe_set : ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> 'a -> unit = "%caml_ba_unsafe_set_3" end external genarray_of_array1 : ('a, 'b, 'c) Bigarray.Array1.t -> ('a, 'b, 'c) Bigarray.Genarray.t = "%identity" external genarray_of_array2 : ('a, 'b, 'c) Bigarray.Array2.t -> ('a, 'b, 'c) Bigarray.Genarray.t = "%identity" external genarray_of_array3 : ('a, 'b, 'c) Bigarray.Array3.t -> ('a, 'b, 'c) Bigarray.Genarray.t = "%identity" val array1_of_genarray : ('a, 'b, 'c) Bigarray.Genarray.t -> ('a, 'b, 'c) Bigarray.Array1.t val array2_of_genarray : ('a, 'b, 'c) Bigarray.Genarray.t -> ('a, 'b, 'c) Bigarray.Array2.t val array3_of_genarray : ('a, 'b, 'c) Bigarray.Genarray.t -> ('a, 'b, 'c) Bigarray.Array3.t val reshape : ('a, 'b, 'c) Bigarray.Genarray.t -> int array -> ('a, 'b, 'c) Bigarray.Genarray.t val reshape_1 : ('a, 'b, 'c) Bigarray.Genarray.t -> int -> ('a, 'b, 'c) Bigarray.Array1.t val reshape_2 : ('a, 'b, 'c) Bigarray.Genarray.t -> int -> int -> ('a, 'b, 'c) Bigarray.Array2.t val reshape_3 : ('a, 'b, 'c) Bigarray.Genarray.t -> int -> int -> int -> ('a, 'b, 'c) Bigarray.Array3.t end