docs: function (listener) {
      // emitter() -> emitter:function
      if(!listener) {
        return emitter
      }
      // emitter(listener:Function) -> removeListener:Function
      if("function" !== typeof listener) {
        throw new Error('Listener must be a function')
      }
      var newLength = listeners.push(listener)
        , index = newLength-1
        , removed = false
      
      return function removeListener() {
        if(removed) return
        removed = true
        listeners.splice(index, 1)
      }
    }