diff --git a/Data/Stream.hs b/Data/Stream.hs
--- a/Data/Stream.hs
+++ b/Data/Stream.hs
@@ -171,10 +171,10 @@
 -- 
 -- /Beware/: passing a negative integer as the first argument will cause
 -- an error.
-(!!) :: Int -> Stream a -> a
-(!!) n (Cons x xs)
+(!!) :: Stream a -> Int -> a
+(!!) (Cons x xs) n
   | n == 0    = x
-  | n > 0     = (!!) (n - 1) xs
+  | n > 0     = xs !! (n - 1)
   | otherwise = error "Stream.!! negative argument"
 
 -- | The 'zip' function takes two streams and returns a list of
diff --git a/Stream.cabal b/Stream.cabal
--- a/Stream.cabal
+++ b/Stream.cabal
@@ -1,5 +1,5 @@
 Name:		        Stream
-Version:        	0.2
+Version:        	0.2.1
 License:        	BSD3
 License-file:		LICENSE
 Author:			Wouter Swierstra
