title: Supplying another function to sum() as a start parameter
body: <p>I have seen the below function in a tutorial about packaging. </p>
  
  <p>My doubt is in <code>sum()</code> which takes <code>Counter()</code> as the <em>start</em> parameter. What would happen in this case?</p>
  
  <pre class="lang-py prettyprint-override"><code># Import needed functionality
  from collections import Counter
  
  def sum_counters(counters):
    # Sum the inputted counters
    return sum(counters, Counter())
  </code></pre>
  
  <p>I tried replicating using the below code </p>
  
  <pre class="lang-py prettyprint-override"><code>a=[2,3,3,4,5,5,6]
  sum(a,len())
  </code></pre>
  
  <p>Result:</p>
  
  <pre><code>TypeError: len() takes exactly one argument (0 given)
  </code></pre>
  
  <p>I'm unable to replicate it with <code>Counter()</code> (due to an error in pip while downloading collections package), nor am i able to find any documentation that mentions about giving functions as the <em>start</em> parameters. </p>
  
  <p>Could anyone throw some light on this. Thanks</p>