docs: function normalize() {
      var array = flatten(arguments);
  
      /* The normalized structure */
      var normalized = {
        arguments: [],
        function: null
      };
  
      /* No elements in the array? Empty */
      if (! array.length) return normalized;
  
      /* Set the function only if it's the last element */
      if (typeof(array[array.length - 1]) === 'function') {
        normalized.function = array.splice(-1)[0];
      }
  
      /* Validate all arguments as strings */
      for (var i in array) {
        var argument = array[i];
        if (typeof(argument) === 'string') {
          normalized.arguments.push(argument);
        } else {
          throw new EsquireError("Found " + typeof(argument) + " but needed string: " + argument);
        }
      }
  
      /* Return our normalized structure */
      return normalized;
    }