Carefully putting the parser back together, switching to Cabal. Reluctantly.