code: function genStatArr() {
    // return _.isArray(arguments[0]) ? _.map(arguments, genStatement) : [genStatement(_.toArray(arguments))]
    // if the first arg is array
    if (_.isArray(arguments[0])) {
      // ([['q1', 'p1'], ['q2', 'p2'], ...])
      if (_.isArray(arguments[0][0])) {
        return _.map(arguments[0], genStatement)
          // (['q1', 'p1'], ['q2', 'p2'], ...)
      } else {
        return _.map(arguments, genStatement)
      }
    } else {
      // args is in ('q1', 'p1') form
      return [genStatement(_.toArray(arguments))]
    }
  }
docs: Generate an array of statements from multiple array-pairs of query and params.
  @private
  @param  {...Arrays} ...pairs Array like [query, params]
  @param  {string} query A query string, if the first argument isn't an array.
  @param  {JSON} params The parameters JSON to the query string, if the first argument isn't an array.
  @return {Array}         Array of statements.
  
  @example
  genStatArr(
  ['q1','p1'],
  ['q2','p2']
  )
  // => [ { statement: 'q1', parameters: 'p1' },
  // { statement: 'q2', parameters: 'p2' } ]
  
  genStatArr([
  ['q1','p1'],
  ['q2','p2']
  ])
  // => [ { statement: 'q1', parameters: 'p1' },
  // { statement: 'q2', parameters: 'p2' } ]
  
  genStatArr('q1', 'p1')
  // => [ { statement: 'q1', parameters: 'p1' } ]