diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,11 @@
 # Revision history for ordered-containers
 
-## 0.0  -- YYYY-mm-dd
+## 0.1.0 -- 2016-12-26
 
-* First version. Released on an unsuspecting world.
+* Documentation fix
+* Live up to the package version boundary claims
+* Use enough version parts to conform to the PVP
+
+## 0.0 -- 2016-12-23
+
+* First version released on an unsuspecting world
diff --git a/Data/Map/Ordered.hs b/Data/Map/Ordered.hs
--- a/Data/Map/Ordered.hs
+++ b/Data/Map/Ordered.hs
@@ -27,7 +27,7 @@
 
 import Control.Applicative ((<|>))
 import Control.Monad (guard)
-import Data.Foldable (Foldable(foldl', foldMap))
+import Data.Foldable (Foldable, foldl', foldMap)
 import Data.Function (on)
 import Data.Map (Map)
 import Data.Map.Util (Index, Tag, maxTag, minTag, nextHigherTag, nextLowerTag, readsPrecList, showsPrecList)
@@ -67,7 +67,7 @@
 (\\) :: Ord k => OMap k v -> OMap k v' -> OMap k v
 o@(OMap tvs kvs) \\ o'@(OMap tvs' kvs') = if size o < size o'
 	then filter (const . (`notMember` o')) o
-	else foldr delete o (fst <$> assocs o')
+	else foldr delete o (fmap fst (assocs o'))
 
 empty :: OMap k v
 empty = OMap M.empty M.empty
@@ -92,11 +92,13 @@
 notMember k (OMap tvs _) = M.notMember k tvs
 
 lookup :: Ord k => k -> OMap k v -> Maybe v
-lookup k (OMap tvs _) = snd <$> M.lookup k tvs
+lookup k (OMap tvs _) = fmap snd (M.lookup k tvs)
 
+-- The Ord constraint is for compatibility with older (<0.5) versions of
+-- containers.
 -- | @filter f m@ contains exactly the key-value pairs of @m@ that satisfy @f@,
 -- without changing the order they appear
-filter :: (k -> v -> Bool) -> OMap k v -> OMap k v
+filter :: Ord k => (k -> v -> Bool) -> OMap k v -> OMap k v
 filter f (OMap tvs kvs) = OMap (M.filterWithKey (\k (t, v) -> f k v) tvs)
                                (M.filterWithKey (\t (k, v) -> f k v) kvs)
 
diff --git a/Data/Map/Util.hs b/Data/Map/Util.hs
--- a/Data/Map/Util.hs
+++ b/Data/Map/Util.hs
@@ -17,8 +17,8 @@
 nextHigherTag = maybe 0 succ . maxTag
 
 minTag, maxTag :: Map Tag a -> Maybe Tag
-minTag m = fst . fst <$> M.minViewWithKey m
-maxTag m = fst . fst <$> M.maxViewWithKey m
+minTag m = fmap (fst . fst) (M.minViewWithKey m)
+maxTag m = fmap (fst . fst) (M.maxViewWithKey m)
 
 showsPrecList :: Show a => (b -> [a]) -> Int -> b -> ShowS
 showsPrecList toList d o = showParen (d > 10) $
diff --git a/Data/Set/Ordered.hs b/Data/Set/Ordered.hs
--- a/Data/Set/Ordered.hs
+++ b/Data/Set/Ordered.hs
@@ -25,11 +25,12 @@
 	) where
 
 import Control.Monad (guard)
-import Data.Foldable (Foldable(foldl', foldMap, toList))
+import Data.Foldable (Foldable, foldl', foldMap, foldr, toList)
 import Data.Function (on)
 import Data.Map (Map)
 import Data.Map.Util (Index, Tag, maxTag, minTag, nextHigherTag, nextLowerTag, readsPrecList, showsPrecList)
-import Prelude hiding (filter, lookup, null)
+import Data.Set (Set) -- so the haddocks link to the right place
+import Prelude hiding (filter, foldr, lookup, null)
 import qualified Data.Map as M
 
 data OSet a = OSet !(Map a Tag) !(Map Tag a)
@@ -81,8 +82,8 @@
 	bump' = case minTag vs' of
 		Nothing -> 0
 		Just k  -> -k
-	tsBumped  = (bump +) <$> ts
-	tsBumped' = (bump'+) <$> ts'
+	tsBumped  = fmap (bump +) ts
+	tsBumped' = fmap (bump'+) ts'
 	vsBumped  = (bump +) `M.mapKeysMonotonic` vs
 	vsBumped' = (bump'+) `M.mapKeysMonotonic` vs'
 
@@ -103,7 +104,9 @@
 size :: OSet a -> Int
 size (OSet ts _) = M.size ts
 
-filter :: (a -> Bool) -> OSet a -> OSet a
+-- the Ord constraint is for compatibility with older (<0.5) versions of
+-- containers
+filter :: Ord a => (a -> Bool) -> OSet a -> OSet a
 filter f (OSet ts vs) = OSet (M.filterWithKey (\v t -> f v) ts)
                              (M.filterWithKey (\t v -> f v) vs)
 
@@ -135,4 +138,4 @@
 -- | Returns values in ascending order. (Use 'toList' to return them in
 -- insertion order.)
 toAscList :: OSet a -> [a]
-toAscList o@(OSet ts _) = fst <$> M.toAscList ts
+toAscList o@(OSet ts _) = fmap fst (M.toAscList ts)
diff --git a/ordered-containers.cabal b/ordered-containers.cabal
--- a/ordered-containers.cabal
+++ b/ordered-containers.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                ordered-containers
-version:             0.0
+version:             0.1.0
 synopsis:            Set- and Map-like types that remember the order elements were inserted
 -- description:         
 license:             BSD3
@@ -21,5 +21,5 @@
   -- other-extensions:    
   build-depends:       base >=4 && <5, containers >=0.1 && <0.6
   -- hs-source-dirs:      
-  default-language:    Haskell2010
+  default-language:    Haskell98
   ghc-options:         -fno-warn-tabs
