title: Why can we say `arr.inject(:+)` but have to say `arr.map(&:to_s)`?
body: <p>It seems that we can always use <code>&amp;:+</code>. Why can <code>inject</code> take <code>:+</code> while <code>map</code> has to take <code>&amp;:to_s</code>?  If the reason is that <code>map</code> can't take a symbol but must take a block, then would it make sense if <code>map</code> takes a symbol too?</p>
  
  <pre><code>[1,3,5].inject(:+)   # =&gt; 9
  [1,3,5].inject(&amp;:+)  # =&gt; 9
  [1,3,5].map(&amp;:to_s)  # =&gt; ["1", "3", "5"]
  [1,3,5].map(:to_s)   # =&gt; ArgumentError: wrong number of arguments (1 for 0)
  </code></pre>