random :: (MonadRandom m, GenHash m, Dom utxo ~ DSL h a, PickFromUtxo utxo)
       => PrivacyMode
       -> a      -- ^ Change address
       -> Word64 -- ^ Maximum number of inputs
       -> CoinSelPolicy utxo m (DSL.Transaction h a, TxStats, utxo)
random privacy changeAddr maxInps =
      runCoinSelT changeAddr
    . Generic.random privacy maxInps
    . NE.toList
random :: (MonadRandom m, GenHash m, Dom utxo ~ DSL h a, PickFromUtxo utxo)
       => PrivacyMode
       -> a      -- ^ Change address
       -> Word64 -- ^ Maximum number of inputs
       -> CoinSelPolicy utxo m (DSL.Transaction h a, TxStats, utxo)
random privacy changeAddr maxInps =
      runCoinSelT changeAddr
    . Generic.random privacy maxInps
    . NE.toList
random privacy changeAddr maxInps =
      runCoinSelT changeAddr
    . Generic.random privacy maxInps
    . NE.toList