-
Notifications
You must be signed in to change notification settings - Fork 56
Unexpected omissions from submodule exports (e.g., RIO.Vector.iforM_) #250
Description
I have recently started using RIO and am liking it a lot so far. I have been surprised several times at omitted exports from RIO submodules that do not appear to be unsafe, unchecked, or partial. For example, iforM and iforM_ are not exported from RIO.Vector et al. even though they are exported from Data.Vector* and imapM, imapM_, forM, and forM_ are all exported from RIO. Similarly, unzip and unzipWith are not exported from RIO.Seq (though available as munzip and unzipWith' methods on internal instances) even though they are from Data.Sequence.
Are these inadvertent omissions or is there a guiding rationale behind them? If the latter, it would be helpful if the reasons were clarified in the documentation. Using RIO.* as a nice and coherent alternative to Data.* is handy, but less so if one has to check and special case imports of functions that fit the RIO conditions but are missing.
Thanks