improve error messages for recur across try
fixed == to behave correctly with BigDecimal values and added tests for ==