- (Map.filterWithKey filterKV
- (Map.intersection
- (Map.union (findModified childstate lastchildstate)
- (findModified childstate masterstate)
- )
- masterstate
- )
- )
- where filterKV k v = -- Eliminate changes that would set the value to what it already is
- case Map.lookup k masterstate of
- (Just m) -> m /= v
- Nothing -> False
+ Map.union (findModified masterstate childstate lastchildstate)
+ (findModified masterstate childstate masterstate)