docs: function createCopyDescriptors(obj, deep, template) {
    const pdc = {};
    const _tpl = template || { enumerable: true };
    Object.keys(obj).forEach(key => {
      const val = obj[key];
      const valueDesc = { value: { value:  deep ? deepCopy(val, _tpl) : val } };
      pdc[key] = Object.create(_tpl, valueDesc);
    });
    return pdc;
  }