[fix off-by-one in ListCata.mkFoldCall
Helmut Grohne <grohne@cs.uni-bonn.de>**20150219134512
 Ignore-this: 7ff7ba77e0ae1bcf72e4b2f47967629b
 
 mkFoldCall would compute usedVarInd as those indices (into the open rule) that
 are duplicated by the new parameter given by foldr. It would then remove those
 parameters from the IOs generated by abduceIO. However, those parameters have
 the ith parameter already removed. Thus indices larger than i would remove
 unintended arguments or even the head parameter passed by foldr (as can be seen
 when generalizing appenD). Thus indices larger than i need to be decremented.
] hunk ./src/Igor2/RuleDevelopment/ListCata.hs 195
+    let usedVarIndInIOs = [ case compare j i of { LT -> j; GT -> pred j } | j <- usedVarInd ]
hunk ./src/Igor2/RuleDevelopment/ListCata.hs 198
-    afnm  <- addIO . rules . map (rmArgsAt usedVarInd) $ ios
+    afnm  <- addIO . rules $ map (rmArgsAt usedVarIndInIOs) ios