I think it's there because it's used in BatIO (for combinators that wrap inputs in other inputs). It might actually be reasonable to make it public, provided documentation and tests are written, I think (currently the interface is quite... terse).