I would just do: f' = if cond0 then f else id g' = if cond1 then g else id foo { bar = f' (bar foo) , wib = g' (wib foo) }
I like seeing the record updated, rather than hiding it in a function. Regards, Keean. _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe