=item Return values
C<with_transaction> adopts the behaviour of C<eval> in that it returns the
-result of the inner block, and C<undef> if an error occured. This way you can
+result of the inner block, and C<undef> if an error occurred. This way you can
use the same pattern you would normally use with C<eval> for
C<with_transaction>:
C<with_transaction> only gobbles up exceptions that are used to signal an
error in the transaction, and returns undef on those. All other exceptions
-bubble out of the transaction like normal, so that it is transparent to typoes,
+bubble out of the transaction like normal, so that it is transparent to typos,
runtime exceptions and other generally wanted things.
If you just use the snippet above, your code will catch everything related to