A value of type (t1 -> ... -> tn -> t Js.t) Js.constr is a
Javascript constructor expecting n arguments of types t1
to tn and returning a Javascript object of type t Js.t.
Type used to specify method types:
a Javascript object
<m : t1 -> t2 -> ... -> tn -> t Js.meth> Js.t
has a Javascript method m expecting n arguments
of types t1 to tn and returns a value of type t.
Type of read/write properties that may be undefined:
you can set them to a value of some type t, but if you read
them, you will get a value of type t optdef (that may be
undefined).