docs: function checkArguments (argz) {
    if (!argz.args.length) {
      return error('first argument cant be function')
    }
  
    if (isEmptyFunction(argz.cb.toString())) {
      return error('should have `callback` (non empty callback)')
    }
  
    if (typeOf(argz.args[0]) !== 'string') {
      return type('expect `cmd` be string', argz.cb)
    }
  
    if (typeOf(argz.args[1]) === 'object') {
      argz.args[2] = argz.args[1]
      argz.args[1] = []
    }
  
    if (typeOf(argz.args[2]) !== 'object') {
      argz.args[2] = {}
    }
  
    return {
      cmd: argz.args[0],
      args: argz.args[1],
      opts: argz.args[2],
      callback: argz.cb
    }
  }