-- | Property @s@ holds at some period in the next @n@ periods.  If @n == 0@,
-- then @s@ holds in the current period.  We require @n >= 0@.  E.g., if @p =
-- eventually 2 s@, then we have the following relationship between the streams
-- generated:
--
-- @
-- s => F F F T F F F T ...
-- p => F T T T F T T T ...
-- @
eventually :: ( Integral a ) =>
              a -- ^ 'n'
              -> Stream Bool -- ^ 's'
              -> Stream Bool
eventually n = nfoldl1 ( fromIntegral n + 1 ) (||)
eventually :: ( Integral a ) =>
              a -- ^ 'n'
              -> Stream Bool -- ^ 's'
              -> Stream Bool
eventually n = nfoldl1 ( fromIntegral n + 1 ) (||)
eventually n = nfoldl1 ( fromIntegral n + 1 ) (||)