!!!(c) OleksandrZhabenko 2019MITolexandr543@yahoo.comSafe7mmsyn5*Function that applies additional function  f :: a -> [a] to a if p :: a -> Bool and  p a = Truemmsyn5*Function that applies additional function  f :: a -> b to a if p :: a -> Bool and  p a = True" and otherwise another function  g :: a -> [b] to [a] and combines results to obtain [b](c) OleksandrZhabenko 2019MITolexandr543@yahoo.comSafe!cmmsyn58Unsafe function in which the second intermediate result c is in the Monad m. It appears if the predicate p :: a -> Bool is False on a. It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. It's your responsibility to check whether the code does what you expect.mmsyn57Unsafe function in which the first intermediate result b is in the Monad m. It appears if the predicate p :: a -> Bool is True on a. It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. It's your responsibility to check whether the code does what you expect.mmsyn57Unsafe function in which both the intermediate results b and c7 are in the Monads. They appear whenever the predicate p :: a -> Bool is True or False!, but the first one is used if  p a = True and the second one -- if  p a = False. It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. It's your responsibility to check whether the code does what you expect.mmsyn58Unsafe function in which the second intermediate result b is in the Monad m. It appears if the predicate p :: a -> Bool is False on a. It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. It's your responsibility to check whether the code does what you expect.mmsyn57Unsafe function in which the first intermediate result b is in the Monad m. It appears if the predicate p :: a -> Bool is True on a. It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. It's your responsibility to check whether the code does what you expect. %mmsyn5-0.4.2.2-4Tr3RKGJdZ1FvJwLm9j01AData.List.InnToOut.BasicData.List.InnToOut.UnsafemapImapI2 unsafeMapI22M unsafeMapI2M2unsafeMapI2M2M unsafeMapI12M unsafeMapI2M1