> -lookup :: Ord k => k -> Map k a -> Maybe a > +lookup :: (Monad m,Ord k) => k -> Map k a -> m a > +lookup' :: Ord k => k -> Map k a -> Maybe a How about providing lookup (as is or as your hidden lookup') and lookupM as generalization instead? Cheers Christian