Saw that Patrik had the same problem.
One solution is to use the pragma
{-# LANGUAGE BangPatterns #-}
and put a bang (exclamation mark) before the expression that needs to be strict.
Guess I could have also changed the return type of my eval function to Integer, but then it would be nontrivial
for me to see exactly what some expressions evaluated to.
Kind regards
Alex