The API looks great to me and I’m happy to see such package existing! 
The (from...)
syntax is a clever usage of postfix operators 
I have a few ideas and a few potential feature requests. But that can be discussed separately. This is already a huge amount of work for the first release! The Data.List
API is huge and just walking through the entire API and extracting functions that work for infinite lists is a great amount of deal 
I personally worry sometimes about functions that can work with infinite lists because they can accidentally hang. For example, the library provides the following function:
find :: (a -> Bool) -> Infinite a -> a
Which is semantically correct, but practically someone accidentally can write the following code which can hang:
ghci> import Data.Time.Clock.POSIX
ghci> now <- getPOSIXTime
ghci> find (> now + 1) (now...) -- or something in this spirit
which is wrong for other reasons, but still, would be nice to avoid introducing new footguns.
I’m thinking about having a functions that accept a limit: how many entries do you look at before stopping? But for now, a warning in the documentation should be enough 
As for the original code like this:
head $ filter (`notElem` hashes) $ map showt [0::Int ..]
Sorry, this is just bonkers code to me and simply suboptimal. If someone passes [0::Int ..]
as hashes
, this function hangs. Because I’m afraid of dealing with infinite lists, I would simply write this code differently.
Though, I understand the sentiment of having a drop-in replacement and sometimes it would be nice to work with infinite streams so I’d love to have package like infinite-list
in the ecosystem 
It’s also very interesting from the perspective of learning and understanding laziness in Haskell! Not to mention, that it’s really curious to look at the code to learn something new 