[Refactored functions on the Igor type not to depend on its number of members (or their order) anymore.
tobias@goedderz.info**20150225084535
 Ignore-this: 530f7ac7ab47ced2819e468f8f5ae219
 
 This makes it simple to add new entries to its constructor.
] hunk ./src/Igor2/Data/IgorMonad.hs 78
-setupTarget n ( Igor iod lc tc cf ct) = do
-    return $ Igor iod ((n,0):lc) 0 cf ct  
-    
+setupTarget n igor@(Igor { igor_lc = lc }) = do
+    return $ igor { igor_lc = ((n,0):lc)
+                  , igor_tc = 0
+                  }
hunk ./src/Igor2/Data/IgorMonad.hs 87
-initIgor nr = Igor (initIOData nr) [] 0
+initIgor nr scr ctx = Igor
+    { igor_io = (initIOData nr)
+    , igor_lc = []
+    , igor_tc = 0
+    , igor_cnf = scr
+    , igor_ctx = ctx
+    }
hunk ./src/Igor2/Data/IgorMonad.hs 169
-    modify (\i@(Igor _ _ _ c _) -> i{igor_cnf=c{scr_bgks=bgk'}})
+    modify (\igor@(Igor { igor_cnf = conf }) -> igor { igor_cnf = conf { scr_bgks = bgk' } })
hunk ./src/Igor2/Data/IgorMonad.hs 176
-    modify (\i@(Igor _ _ _ c _) -> i{igor_cnf=c{scr_bgks=bgk'}})
+    modify (\igor@(Igor { igor_cnf = conf }) -> igor { igor_cnf = conf { scr_bgks = bgk' } })
hunk ./src/Igor2/Data/IgorMonad.hs 211
-    modify $ \igor@(Igor io _ _ _ _) ->
+    modify $ \igor@(Igor { igor_io = io }) ->
hunk ./src/Igor2/Data/IgorMonad.hs 216
-tick = get >>= \i@(Igor _ ((n,lc):lcs) _ _ _) ->
-          put i{igor_lc = (n,lc+1):lcs}
+tick = get >>= \igor@(Igor { igor_lc = ((n,lc):lcs) }) ->
+          put igor { igor_lc = (n,lc+1):lcs }
hunk ./src/Igor2/Data/IgorMonad.hs 221
-tickT = get >>= \i@(Igor _ _ tc _ _) -> put i{igor_tc = tc+1}
+tickT = get >>= \igor@(Igor { igor_tc = tc }) ->
+            put igor { igor_tc = tc+1 }
hunk ./src/Igor2/Data/IgorMonad.hs 251
-    i@(Igor iod _ _ _ _) <- get
-    let (n,iod') = insertRules rs iod
-    put i{igor_io = iod'}
+    igor@(Igor { igor_io = iod }) <- get
+    let (n, iod') = insertRules rs iod
+    put igor { igor_io = iod' }