+and optargs = optargt list
+
+and optargt =
+ | OBool of string (* boolean *)
+ | OInt of string (* int (smallish ints, signed, <= 31 bits) *)
+ | OInt64 of string (* any 64 bit int *)
+ | OString of string (* const char *name, cannot be NULL *)
+
+type errcode = [ `CannotReturnError | `ErrorIsMinusOne | `ErrorIsNULL ]
+