It would be a lot cleaner and get rid of a bunch of messy asserts/not asserted pointers if these were references. In which situations would we need the API to allow us to not pass a precomputed data or a transaction into the checker? https://github.com/bitcoin/bitcoin/pull/21702#discussion_r616858194