docs: function noval(value, recursive) {
    assertType(recursive, 'boolean', true, 'Invalid parameter: recursive');
  
    if (recursive === undefined) recursive = false;
  
    if (value === undefined || value === null) {
      return true;
    }
    else if (typeof value === 'string') {
      return (value === '');
    }
    else if (recursive && (value instanceof Array)) {
      let n = value.length;
  
      for (let i = 0; i < n; i++) {
        if (!noval(value[i], true)) return false;
      }
  
      return true;
    }
    else if (recursive && (typeof value === 'object') && (value.constructor === Object)) {
      for (let p in value) {
        if (!noval(value[p], true)) return false;
      }
  
      return true;
    }
    else {
      return false;
    }
  }