code: function validateArguments (targets, callback) {
      const nodes = Object.prototype.toString.call(targets)
      const targetsValid = typeof targets === 'string' || ((nodes === '[object NodeList]' || nodes === '[object HTMLCollection]') || targets.nodeType === 1)
      const callbackValid = typeof callback === 'function'
  
      if (!targetsValid) console.error('Countable: Not a valid target')
      if (!callbackValid) console.error('Countable: Not a valid callback function')
  
      return targetsValid && callbackValid
    }
docs: `validateArguments` validates the arguments given to each function call.
  Errors are logged to the console as warnings, but Countable fails
  silently.
  
  @private
  
  @param   {Nodes|String}  targets   A (collection of) element(s) or a single
  string to validate.
  
  @param   {Function}      callback  The callback function to validate.
  
  @return  {Boolean}       Returns whether all arguments are vaild.