It would seem Object#tap is for the imperative style and Object#as is
for the functional style.  My ruby code is always improved ---
clearer, smaller, more elegant --- when I use a functional style as
much as possible.  For example cutting down on side-effects and being
in the mindset of chaining results rather than re-assigning to the
same variable.  Please, if you add Object#tap then you must add its
functional equivalent Object#as (call it what you wish).