Js_types
type t(_) =
| Undefined : t(undefined_val)
| Null : t(null_val)
| Boolean : t(bool)
| Number : t(float)
| String : t(string)
| Function : t(function_val)
| Object : t(obj_val)
| Symbol : t(symbol)
| BigInt : t(bigint_val)
;
let test: 'a => t('b) => bool;
test "x" String = true
type tagged_t =
| JSFalse
| JSTrue
| JSNull
| JSUndefined
| JSNumber(float)
| JSString(string)
| JSFunction(function_val)
| JSObject(obj_val)
| JSSymbol(symbol)
| JSBigInt(bigint_val)
;
let classify: 'a => tagged_t;