code: func (c *Cover) Trace(event *topdown.Event) {
  	switch event.Op {
  	case topdown.ExitOp:
  		if rule, ok := event.Node.(*ast.Rule); ok {
  			c.setHit(rule.Head.Location)
  		}
  	case topdown.EvalOp:
  		if expr := event.Node.(*ast.Expr); expr != nil {
  			c.setHit(expr.Location)
  		}
  	}
  }
docs: // Trace updates the coverage state.