Acme::ButFirst allows you to execute some code, but first do something else. Any use of this module should be considered a bug. Your life will be filled with pain and misery should you even consider using this in production code.