code: function copy(acc, k) {
      const val = x[k]
      let cpy
      if (Array.isArray(val)) {
        cpy = val.slice(0)
      } else {
        cpy = val
      }
      acc[k] = cpy
      return acc
    }
docs: so far we only expect to deal with the following property types shallow Array, String, Number