>>87
賛成に一票。

>>89
> デバッグ目的に使うメソッドを正規のロジックの一部とする
んじゃなくて、

まず正規のロジック
ary.map do { |x| x * 2 + 1 }
があって、何かおかしいから p を使ってデバッグしたいなあ、という時に
ary.map do { |x| p x * 2 + 1 }
と p を書くだけで目的が実現できて便利、という話かと。

p の返り値を積極的に利用しているケースが思いつかないので、
仕様変更に伴うデメリットは(ほとんど)無いと思う。