`data.tap {|data| ... }` returns data at the end, automatically, no need to remember to append "data", or "return data" as the final line.  (Of which, the later is probably better.)

Given that forgetting that is a runtime failure, it feels like that would be a better pattern to have people copy in future.  Though, uh, with a goal of replacing this with some DSL-driven code that wraps most of that standard logic anyway it perhaps isn't such a thing.