Nodetype node_module =
  Js.t({. id: string
    , exports: node_exports
    , parrent: Js.null_undefined(node_module)
    , filename: string
    , loaded: bool
    , children: array(node_module)
    , paths: array(string)});type node_require =
  Js.t({. main: Js.undefined(node_module)
    , resolve: Js.Fn.arity1((string => string))});type string_buffer_kind(_) = | String : string_buffer_kind(string)| Buffer : string_buffer_kind(buffer);let test: string_buffer => (string_buffer_kind('t), 't0);We expect a good inliner will eliminate such boxing in the future
module Path: { ... };Node Path API
module Fs: { ... };Node FS API
module Process: { ... };module Module: { ... };Node Module API
module Buffer: { ... };Node Buffer API
module Child_process: { ... };Node Child Process API