Yeah, something like:

    type badCharError struct {
      expected rune
      found rune
    }
    func (e *badCharError) Error() string {
      return "expected '" + string(e.expected) + "', got '" + string(e.found) + "'"
    }

No need to rope in a larger dependency like `fmt` for this.