docs: function updateHandlerTags(handler) {
    let { event, tags, goesBefore, goesAfter } = handler
    let eventTags = events[event] && events[event].tags
  
    if (!tags || !tags.length || !eventTags) {
      return handler
    }
  
    tags = expandImplied(tags, eventTags, 'implies')
  
    for (let i = 0; i < tags.length; i++) {
      let tag = tags[i]
      let tagGoesBefore = eventTags[tag] && eventTags[tag].goesBefore
      let tagGoesAfter = eventTags[tag] && eventTags[tag].goesAfter
  
      if (tagGoesBefore) {
        goesBefore = goesBefore || []
        goesBefore.push(...tagGoesBefore)
      }
  
      if (tagGoesAfter) {
        goesAfter = goesAfter || []
        goesAfter.push(...tagGoesAfter)
      }
    }
  
    goesBefore = goesBefore && expandImplied(goesBefore, eventTags, 'impliedBy')
    goesAfter = goesAfter && expandImplied(goesAfter, eventTags, 'impliedBy')
  
    handler.tags = tags
    handler.goesBefore = goesBefore
    handler.goesAfter = goesAfter
  
    return handler
  }