:: (b -> c) -> (a -> m b) -> (a -> m c) package:yjtools