да кстати Cabal отлично работает с локальными пакетами, надо только нагуглить синтаксис "cabal.project", он сам обнаруживает когда какой-то локальный пакет поменялся и ребилдит его (в контексте проекта (проект это несколько Cabal пакетов))
Ты наверное пробовал Cabal до появления V2 и Nim-style builds, в те времена он фиговый был да