Decision procedures for Presburger arithmetic in Haskell