chooseMSCoins :: Coin c
              => Word64     -- ^ Target price to pay.
              -> Word64     -- ^ Fee price per 1000 bytes.
              -> (Int, Int) -- ^ Multisig parameters m of n (m,n).
              -> Bool -- ^ Try to find better solution when one is found
              -> [c]
              -> Either String ([c], Word64)
                 -- ^ Coin selection result and change amount.
chooseMSCoins target kbfee ms continue coins =
    runIdentity $ sourceList coins $$ chooseMSCoinsSink target kbfee ms continue
chooseMSCoins :: Coin c
              => Word64     -- ^ Target price to pay.
              -> Word64     -- ^ Fee price per 1000 bytes.
              -> (Int, Int) -- ^ Multisig parameters m of n (m,n).
              -> Bool -- ^ Try to find better solution when one is found
              -> [c]
              -> Either String ([c], Word64)
chooseMSCoins target kbfee ms continue coins =
    runIdentity $ sourceList coins $$ chooseMSCoinsSink target kbfee ms continue
chooseMSCoins target kbfee ms continue coins =
    runIdentity $ sourceList coins $$ chooseMSCoinsSink target kbfee ms continue