code: function (arr, val) {
      if (!arr || arr.length === 0) return {}
  
      let o = {}
      let v = val || null
  
      if (arr.length > 1)
        v = this.fromArray(arr.slice(1), v)
  
      o[arr[0]] = v
      return o
    }
docs: Constructs nested object reflecting array
  @returns {object} The nested object
  @param {array} arr - array from which to construct object
  @param {any} val - value to assign to the deepest level object key