title: Understanding this assignment?
body: <p>In order to refresh my 20 year old experience with Haskell I am walking through <a href="https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours/Adding_Variables_and_Assignment" rel="noreferrer">https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours/Adding_Variables_and_Assignment</a> and at one point the following line is introduced to apply <code>op</code> to all the params.  This is to implement e.g. <code>(+ 1 2 3 4)</code></p>
  
  <pre><code>numericBinop op params = mapM unpackNum params &gt;&gt;= return . Number . foldl1 op
  </code></pre>
  
  <p>I do not understand the syntax, and the explanation in the text is a bit vague.</p>
  
  <p>I understand what <code>foldl1</code> does and how to dot functions (<code>unpackNum</code> is a helper function), but using Monads and the <code>&gt;&gt;=</code> operator leaves me a bit confused.</p>
  
  <p>How is this to be read?</p>