[specialize two "fail" to Nothing
Helmut Grohne <grohne@cs.uni-bonn.de>**20140718092914
 Ignore-this: 3955a278890793b1b646bd1a57d59a02
] hunk ./src/Syntax/Class/Term.hs 243
-(!?!) ::(Monad m) => [a] -> Int -> m a
-[] !?! i        = fail "Terms.applyAtIndex: index too large"
-(x:xs) !?! i  
-    | i < 0     = fail "Terms.applyAtIndex: negative index"
+(!?!) :: [a] -> Int -> Maybe a
+[] !?! i        = Nothing -- Terms.applyAtIndex: index too large
+(x:xs) !?! i
+    | i < 0     = Nothing -- Terms.applyAtIndex: negative index