Anyone ever confused by Array#slice! method?

  1. Some bang methods return nil if the object is
    not actually changed: gsub!, delete!, others.

All but reverse!, sort!, and exit!

  1. Now here’s a trivia question. What bang method
    appears in two different core modules and (it
    could be argued) does not really change its
    receiver? (OK, in a way it does. Don’t quibble with
    me.)

exit! does not modify anything. Its ! means “more dangerous”
than non bang version.

In this regard, can any kind soul post any docs/wikis on all banged methods
(and their accompanying quirks if any)…

kind regards -botp