It’s after bits like this one, I think I should spend more time reading documentation:
METHODS
Create
Create a new transaction.
This routine should _never_ be called by anything other than RT::Ticket. It should not be called from client code. Ever. Not ever. If you do this, we will hunt you down and break your kneecaps. Then the unpleasant stuff will start.
TODO: Document what gets passed to this
RT::Transaction->Create() developer manual for Request Tracker 4.2.