Разобрался с haskell-language-server. Разумеется ему для полного счастья нехватало специального файла описывающего проект (hie.yaml). Если зачем он нужен в принципе понять можно, то вот зачем он необходим с учётом того что весь этот цирк умеет сам находить корень довольно заковыристых проектов и есть тулза генерирующая это самое описание на основании информации для сборки проекта понять уже трудно. Также это не позволяет использовать hls вместе со standalone файлами (тот же clangd прекрасно подсасывает стандартную библиотеку в этой ситуации) и ghci-скриптами. Беда.