* misc cleanup
* rename `values` to `dict` to better represent what it returns
* replace add_note with add_notes for efficiency
* use a list instead of a set, it doesn't matter if there are dulicate messages
* impl region markers
* add `lint` and `error` to the list of scopes