At the moment, the main thing it provides is an arbitrarily nestable scope
macro, which is something like a trail of breadcrumbs. If your code throws/raises/exits, the scopes are pretty printed in turn and the error propagated. It’s like free IO.inspect statements for your failing tests.
There are also a few other things, of which the most useful is probably each
, which iterates over a collection like Enum.each
, but adds a scope of the data being examined.