Throwable is a role for classes that are meant to be thrown as
exceptions to standard program flow. It is very simple and does only two
things: saves any previous value for $@ and calls die $self.

Throwable is implemented with Moo, so you can stick to Moo or use Moose,
as you prefer.
