This pull request includes three separate changes. The first is to separate the lens module into a separate exported module. Currently, this only includes the lens for the generated modules. The second change is to allow (T)ResponseErrors to take both a ResponseError and a LSPResponseError. To do this I used custom fromJSON code that will first convert the JSON to a ResponseError and then convert any CustomResponseError results to corresponding LSPResponseError types. Finally, I standardized the fields for SemanticToken.
The last commit was to unify both the generated and custom lens classes, so now there are no namespace clashes between them and they are all exported from the same module.
This pull request includes three separate changes. The first is to separate the lens module into a separate exported module. Currently, this only includes the lens for the generated modules. The second change is to allow (T)ResponseErrors to take both a ResponseError and a LSPResponseError. To do this I used custom fromJSON code that will first convert the JSON to a ResponseError and then convert any CustomResponseError results to corresponding LSPResponseError types. Finally, I standardized the fields for SemanticToken.