Hi!
I don't have direct answers to your questions, but regarding (3) - perhaps the way hlint migrated from HSE to ghc-lib-parser might be of interest - https://github.com/ndmitchell/hlint/issues/645 (and related issues and pull requests)
Best of luck!
=======
Georgi