title: What's the cleanest way to do case-insensitive parsing with Text.Combinators.Parsec?
body: <p>I'm writing my first program with Parsec. I want to parse MySQL schema dumps and would like to come up with a nice way to parse strings representing certain keywords in case-insensitive fashion. Here is some code showing the approach I'm using to parse "CREATE" or "create". Is there a better way to do this? An answer that doesn't resort to buildExpressionParser would be best. I'm taking baby steps here.</p>
  
  <pre><code>  p_create_t :: GenParser Char st Statement
    p_create_t = do
        x &lt;- (string "CREATE" &lt;|&gt; string "create")
        xs &lt;- manyTill anyChar (char ';')
        return $ CreateTable (x ++ xs) []  -- refine later
  </code></pre>