Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- newtype AtLeastTwoAndUnique a = AtLeastTwoAndUnique (Array a)
- toArray :: forall a. AtLeastTwoAndUnique a -> Array a
- toArray (AtLeastTwoAndUnique xs) = xs
- first :: forall a. AtLeastTwoAndUnique a -> a
- first = Unsafe.head
- instance arbAtLeastTwoAndUnique :: (Arbitrary a) => Arbitrary (AtLeastTwoAndUnique a) where
- arbitrary = AtLeastTwoAndUnique <$> arbitrary `suchThat` (\xs -> unique xs && atLeastTwo xs)
- where
- unique xs = nub xs == xs
- atLeastTwo = (>= 2) <<< length
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement