title: Haskell convention: Maybe or empty list?
body: <p>Could any Haskell experts out there please clarify something for me:</p>
  
  <p>Given a simplified example of a function <code>match</code> which is supposed to return a matched value from a list, which is the "better" function definition to use <code>Maybe</code> or return <code>[]</code> (an empty list)?</p>
  
  <p>That is:</p>
  
  <pre><code>match :: String -&gt; [String] -&gt; Maybe String
  </code></pre>
  
  <p>or</p>
  
  <pre><code>match :: String -&gt; [String] -&gt; [String]     {- possibly empty, if no match -}
  </code></pre>
  
  <p>I prefer the first version for reasons of clarity, but I would be interested to know whether there is a convention for this sort of thing.</p>