Future-proof code for upcoming `array-0.5.0.0`

This way CPP conditionals can be avoided for the transition period.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Relax build-deps to allow upcoming `array-0.5.0.0`

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Update Cabal to current upstream `1.18` branch tip

This is mainly to relax the `array` build-dep to
allow the upcoming `array-0.5.0.0` package.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>