How about this...? assign :: (Atom,Bool) -> Formula -> Formula assign (a,b) = map . (map f) where f (x,b) = (x,(x==a)&&b) -- View this message in context: http://haskell.1045720.n5.nabble.com/Haskell-function-help-tp3365994p3366965.html Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.