title: Apply a function to every second element in a list
body: <p>I'd like to apply a function to every second element in a list:</p>
  
  <pre><code>&gt; mapToEverySecond (*2) [1..10]
  [1,4,3,8,5,12,7,16,9,20] 
  </code></pre>
  
  <p>I've written the following function:</p>
  
  <pre><code>mapToEverySecond :: (a -&gt; a) -&gt; [a] -&gt; [a]
  mapToEverySecond f l = map (\(i,x) -&gt; if odd i then f x else x) $ zip [0..] l
  </code></pre>
  
  <p>This works, but I wonder if there is a more idiomatic way to do things like that.</p>