Format objects
  $ refmt ./input.re
  /* Copyright (c) 2015-present, Facebook, Inc. All rights reserved. */
  
  type t = {.};
  
  type t = {
    .
    u: int,
    v: int,
  };
  
  type t = {.. u: int};
  
  type t = {.. u: int};
  
  type t = {..};
  
  type t = {..};
  
  let (<..>) = (a, b) => a + b;
  let five = 2 <..> 3;
  
  type closedObjSugar = {
    .
    "foo": bar,
    "baz": int,
  };
  
  type openObjSugar = {
    ..
    "x": int,
    "y": int,
  };
  
  type x = Js.t({.});
  
  type y = Js.t({..});
  
  /* #1595: always break object rows (>= 2) for readability */
  type o = {
    .
    a: int,
    b: int,
  };
  
  type o2 = {
    ..
    a: int,
    b: int,
  };
  
  let obj = {as _; [@foo] val a = 1};
  
  /* Oinherit (https://github.com/ocaml/ocaml/pull/1118) */
  type t1 = {
    .
    n: string,
    ...t,
  };
  
  type t1 = {
    ..
    n: string,
    ...t,
  };
  
  type g1 = {
    .
    n: string,
    ...t,
    ...y,
  };
  
  type g2 = {
    .
    n: string,
    ...t,
    ...y,
  };
  
  type m1 = {. ...M.t};
  type m2('a) = {
    .
    n: string,
    ...M.t('a),
  };
