-----------------------------------------------------
-- CollX operations

prop_single :: BagTest Int bag => bag Int -> Int -> Bool
prop_single bag x =
    let xs = singleton x `asTypeOf` bag
     in si xs
        &&
        toOrdList xs == [x]
prop_single :: BagTest Int bag => bag Int -> Int -> Bool
prop_single bag x =
    let xs = singleton x `asTypeOf` bag
     in si xs
        &&
        toOrdList xs == [x]
prop_single bag x =
    let xs = singleton x `asTypeOf` bag
     in si xs
        &&
        toOrdList xs == [x]