title: Haskell: Transposition on a list of strings
body: <p>New to Haskell and the language has been fun so far.  I am hoping for a good hint rather than an answer as I am enjoying the mind-altering that is Haskell.  </p>
  
  <p><strong>Question:</strong> I have a list of strings and I would like to transpose them.  </p>
  
  <pre><code>let x = ["hello", "world"]
  </code></pre>
  
  <p>would become </p>
  
  <pre><code>["hw", "eo", "lr", "ll", "od"]
  </code></pre>
  
  <p>What I have so far is this: </p>
  
  <pre><code>   transposeString :: [a] -&gt; [a]
     transposeString ([]:_) = []
     transposeString x = (map head x) : transposeString (map tail x)
  </code></pre>
  
  <p>I definitely know there is something wrong with the type signature.  My rational is that </p>
  
  <pre><code>Let y = ["wow", "top"]
  map head y 
  </code></pre>
  
  <p>returns "wt" so recursing this on the rest of the list would work?  </p>
  
  <p>Thank you in advance for any hints. </p>