Question (off-topic): The eq error message says:
"Expected `left` to equal `right`". Let's say this test breaks: `Expected 27 to equal 14`, I would read it as 27 being wrong. I noticed that the use of `eq` isn't consistent in the test suite, but it would be great if it was, so that the errors were more readable. (I know that this isn't completely sensible, the message should really say `Expected 3 ** 3 to equal 27, got 14 instead.`)