Functions for evaluating simple Nat and Int expressions that appear in type classes
(e.g., ToInt and IsCharP). Using whnf for this purpose is too expensive and can
exhaust the stack. We considered evalExpr as an alternative, but it introduces
considerable overhead. We may use evalExpr as a fallback in the future.