Say I'm writing an application in Haskell that is going to, among other things, call Darcs to do things such as commits, pushes, pulls, etc. Would I be best served by just calling the darcs bin like any other, piping stuff to/from it? Or by using a darcs API in my Haskell program? (Similar to, for example, libsvn for Subversion) Thanks, John