arbitrarySigInput :: Gen (SigInput, [PrvKey])
arbitrarySigInput =
    oneof
        [ arbitraryPKSigInput >>= \(si, k) -> return (si, [k])
        , arbitraryPKHashSigInput  >>= \(si, k) -> return (si, [k])
        , arbitraryMSSigInput
        , arbitrarySHSigInput
        ]
arbitrarySigInput :: Gen (SigInput, [PrvKey])
arbitrarySigInput =
    oneof
        [ arbitraryPKSigInput >>= \(si, k) -> return (si, [k])
        , arbitraryPKHashSigInput  >>= \(si, k) -> return (si, [k])
        , arbitraryMSSigInput
        , arbitrarySHSigInput
        ]
arbitrarySigInput =
    oneof
        [ arbitraryPKSigInput >>= \(si, k) -> return (si, [k])
        , arbitraryPKHashSigInput  >>= \(si, k) -> return (si, [k])
        , arbitraryMSSigInput
        , arbitrarySHSigInput
        ]