function clone(inst, alts) {
  const current = {
    ts: inst.ts,
    zone: inst.zone,
    c: inst.c,
    o: inst.o,
    loc: inst.loc,
    invalid: inst.invalid
  };
  return new DateTime(Object.assign({}, current, alts, { old: current }));
}
function clone(inst, alts) {
  const current = {
    ts: inst.ts,
    zone: inst.zone,
    c: inst.c,
    o: inst.o,
    loc: inst.loc,
    invalid: inst.invalid
  };
  return new DateTime(Object.assign({}, current, alts, { old: current }));
}
function clone ( inst , alts ) { const current = { ts : inst . ts , zone : inst . zone , c : inst . c , o : inst . o , loc : inst . loc , invalid : inst . invalid } ; return new DateTime ( Object . assign ( { } , current , alts , { old : current } ) ) ; }
clone really means, "make a new object with these modifications". all "setters" really use this to create a new object while only changing some of the properties
clone really means make a new object with these modifications . all setters really use this to create a new object while only changing some of the properties
Clone an object