cabal: add upper bound on base