docs: function overwrite(obj, defaults) {
    var res = {};
    var dFlat = collapse(defaults);
    var oFlat = collapse(obj);
    for (var key in dFlat) {
      val(res, key, dFlat[key]);
    }
    for (var key in oFlat) {
      val(res, key, oFlat[key]);
    }
    return res;
  }