title: Haskell takeWhile + 1
body: <p>How can I write a takeWhile that would keep the first element that doesn't match the condition?</p>
  
  <p>Example (obviously my example is trickier than this) :</p>
  
  <p>Instead of <code>takeWhile (\× - &gt; x! = 3) [1..10]</code> to return <code>[1,2]</code> I need <code>[1,2,3]</code>.</p>
  
  <p>I thought of <code>(takeWhile  myFunc myList) ++ [find myFunc myList]</code> but it means I need to go through my list 2 times... </p>
  
  <p>Any idea? </p>