title: What mean type `a -> m b` in Haskell?
body: <p>Example - function <code>runKleisli</code> from Haskell base module</p>
  
  <pre><code>newtype Kleisli m a b = Kleisli { runKleisli :: a -&gt; m b }
  </code></pre>
  
  <p>That means <code>runKleisli</code> have 1 argument with type <code>a</code> and must return function <code>m</code>, which have 1 argument <code>b</code>?</p>