diff --git a/Data/SortedList.hs b/Data/SortedList.hs
--- a/Data/SortedList.hs
+++ b/Data/SortedList.hs
@@ -1,5 +1,5 @@
 
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE CPP, TypeFamilies #-}
 
 -- | This module defines a type for sorted lists, together
 --   with several functions to create and use values of that
@@ -30,6 +30,8 @@
   , dropWhile
   , span
   , filter
+  , filterLT
+  , filterGT
   , partition
     -- * Queries
 #if !MIN_VERSION_base(4,8,0)
@@ -59,15 +61,21 @@
 #endif
     )
 import qualified Data.List as List
-import Data.Foldable (Foldable (..))
 import Control.DeepSeq (NFData (..))
+import Data.Foldable (Foldable (..))
 --
 #if MIN_VERSION_base(4,5,0)
 import Data.Monoid ((<>))
 #endif
+--
 #if MIN_VERSION_base(4,6,0)
 import Data.Ord (Down (..))
 #endif
+--
+#if MIN_VERSION_base(4,7,0)
+import qualified GHC.Exts as Exts
+#endif
+--
 #if !MIN_VERSION_base(4,8,0)
 import Data.Monoid (Monoid (..))
 #endif
@@ -84,6 +92,13 @@
   {-# INLINE rnf #-}
   rnf (SortedList xs) = rnf xs
 
+#if MIN_VERSION_base(4,7,0)
+instance Ord a => Exts.IsList (SortedList a) where
+  type (Item (SortedList a)) = a
+  fromList = toSortedList
+  toList = fromSortedList
+#endif
+
 #if !MIN_VERSION_base(4,8,0)
 -- | Check if a sorted list is empty.
 --
@@ -210,6 +225,20 @@
 -- | /O(n)/. Extract the elements of a list that satisfy the predicate.
 filter :: (a -> Bool) -> SortedList a -> SortedList a
 filter f = fst . partition f
+
+-- | /O(n)/. Select only elements less or equal to the argument.
+filterLT :: Ord a => a -> SortedList a -> SortedList a
+filterLT a (SortedList l) = SortedList $ go l
+  where
+    go (x:xs) = if x <= a then x : go xs else []
+    go [] = []
+
+-- | /O(n)/. Select only elements greater or equal to the argument.
+filterGT :: Ord a => a -> SortedList a -> SortedList a
+filterGT a (SortedList l) = SortedList $ go l
+  where
+    go (x:xs) = if a <= x then x : xs else go xs
+    go [] = []
 
 -- | /O(n)/. An efficient implementation of 'elem', using the 'Ord'
 --   instance of the elements in a sorted list. It only traverses
diff --git a/sorted-list.cabal b/sorted-list.cabal
--- a/sorted-list.cabal
+++ b/sorted-list.cabal
@@ -1,5 +1,5 @@
 name:                sorted-list
-version:             0.1.5.0
+version:             0.1.6.0
 synopsis:            Type-enforced sorted lists and related functions.
 description:         Type-enforced sorted lists and related functions.
                      .
