To put it another way, consistency for consistency's sake alone is not the goal. Consistency helps make things somehow predictable, but sometimes it's just bloat. That said, if Ruby had immutable classes, it would be important to have push # return a new Array object with the result of a push push! # alter the Array object in place with the result of push pop # return a new Array object with the result of a pop pop! # alter the Array object in place with the result of pop