In a pervasively object oriented system/language, anything that can be represented in the system is an object (=noun =potential agent of action).
Ruby is almost a pervasive OO system (falling short because blocks are not objects, though they can be reified into objects with some efficiency overhead.) As such, unreified blocks are the only thing in Ruby that cannot be the agent of action.
For an iteration of a block a fixed number of times, the potential agents are the block and the number of times. But blocks aren't objects, so they can't be the agent, leaving only the number.
Ruby is almost a pervasive OO system (falling short because blocks are not objects, though they can be reified into objects with some efficiency overhead.) As such, unreified blocks are the only thing in Ruby that cannot be the agent of action.
For an iteration of a block a fixed number of times, the potential agents are the block and the number of times. But blocks aren't objects, so they can't be the agent, leaving only the number.
Hence, Integer#times