// Generated by ReScript, PLEASE EDIT WITH CARE


let Curry = {};

let Block = {};

let xbs = Array.prototype.map.call([
  1,
  2,
  3,
  5
], x => x + 1 | 0);

function f(cb) {
  return Array.prototype.map.call([
    1,
    2,
    3,
    4
  ], cb);
}

let xs = Array.prototype.map.call([
  [
    1,
    2
  ],
  [
    1,
    2
  ],
  [
    2,
    1
  ]
], param => (param[1] + param[0] | 0) + 1 | 0);

function f_0() {
  return hi(() => {});
}

function f_01() {
  return hi(x => {
    if (x === undefined) {
      console.log("x");
      return;
    }
  });
}

function f_02(xs) {
  return hi(x => {
    xs.contents = x;
    console.log("x");
  });
}

function f_03(xs, u) {
  return hi(u);
}

function h(x, y, z) {
  return map2(x, y, z);
}

function h1(x, y, u, z) {
  return map2(x, y, z(u));
}

function add3(x) {
  return (y, z) => (x + y | 0) + z | 0;
}

function h2(x) {
  return ff(x, (prim0, prim1) => prim0 + prim1 | 0);
}

function h3(x) {
  return ff(x, (y, z) => (1 + y | 0) + z | 0);
}

function h4(x) {
  return ff1(x, 3, (y, z) => (1 + y | 0) + z | 0);
}

function h5(x) {
  return ff2(x, "3", (y, z) => (2 + y | 0) + z | 0);
}

function add(x, y) {
  console.log([
    x,
    y
  ]);
  return x + y | 0;
}

function h6(x) {
  return ff2(x, "3", add);
}

function unit_magic() {
  console.log("noinline");
  console.log("noinline");
  return 3;
}

let f_unit_magic = unit_magic();

function hh(xs, a) {
  f_0002(xs, ...a);
}

export {
  Curry,
  Block,
  xbs,
  f,
  xs,
  f_0,
  f_01,
  f_02,
  f_03,
  h,
  h1,
  add3,
  h2,
  h3,
  h4,
  h5,
  add,
  h6,
  unit_magic,
  f_unit_magic,
  hh,
}
/* xbs Not a pure module */
