diff --git a/src/Data/Unamb.hs b/src/Data/Unamb.hs
--- a/src/Data/Unamb.hs
+++ b/src/Data/Unamb.hs
@@ -23,7 +23,7 @@
     -- * Purely functional unambiguous choice
     unamb
     -- * Some useful special applications of 'unamb'
-  , assuming, asAgree
+  , unambs, assuming, asAgree
   , parCommute, parIdentity, parAnnihilator
   , por, pand, pmin, pmax, pmult
     -- * Some related imperative tools
@@ -46,6 +46,10 @@
 
 -- a `unamb` b = unsafePerformIO (a `amb` b)
 
+-- | n-ary 'unamb'
+unambs :: [a] -> a
+unambs = foldr unamb undefined
+
 -- | Ambiguous choice operator.  Yield either value.  Evaluates in
 -- separate threads and picks whichever finishes first.  See also
 -- 'unamb' and 'race'.
@@ -110,8 +114,9 @@
 -- also.
 putCatch :: IO a -> MVar a -> IO ()
 putCatch act v = (act >>= putMVar v) `catches` 
-  [ Handler $ \ (ErrorCall _)     -> return ()
-  , Handler $ \ BlockedOnDeadMVar -> return ()
+  [ Handler $ \ ErrorCall         {} -> return ()
+  , Handler $ \ BlockedOnDeadMVar {} -> return ()
+  , Handler $ \ PatternMatchFail  {} -> return ()
   -- This next handler hides bogus black holes, which show up as
   -- "<<loop>>" messages.  I'd rather eliminate the problem than hide it.
   -- , Handler $ \ NonTermination    -> return ()
diff --git a/unamb.cabal b/unamb.cabal
--- a/unamb.cabal
+++ b/unamb.cabal
@@ -1,5 +1,5 @@
 Name:                unamb
-Version:             0.1.8
+Version:             0.1.9
 Cabal-Version:       >= 1.2
 Synopsis:            Unambiguous choice
 Category:            Concurrency, Data, Other
diff --git a/wikipage.tw b/wikipage.tw
--- a/wikipage.tw
+++ b/wikipage.tw
@@ -21,10 +21,12 @@
 <!-- Please leave comments at the [[Talk:unamb|Talk page]]. -->
 See also the [[lub]] package, which extends unamb's usefulness with non-flat types.
 
+== Issues ==
+
 As of version 0.1.1, unamb requires ghc 6.10 or better.
 
 As of version 0.1.6, unamb correctly handles recursive termination of sub-efforts and automatic restarting, but only with the GHC RTS fixes that first appeared (stably, by my testing) in GHC HEAD version 6.11.20090115.
 The problems and solution can be found in a few places:
-* Email thread: [http://n2.nabble.com/problem-with-unamb----doesn%27t-kill-enough-threads-tt1674917.html problem with unamb -- doesn't kill enough threads]
-* Blog post: [http://conal.net/blog/posts/smarter-termination-for-thread-racing/ Smarter termination for thread racing]
-* Email thread: [http://n2.nabble.com/Re%3A-black-hole-detection-and-concurrency-td2016290.htm Black hole detection and concurrency]
+* Email thread: ''[http://n2.nabble.com/problem-with-unamb----doesn%27t-kill-enough-threads-tt1674917.html Problem with unamb -- doesn't kill enough threads]''
+* Blog post: ''[http://conal.net/blog/posts/smarter-termination-for-thread-racing/ Smarter termination for thread racing]''
+* Email thread: ''[http://n2.nabble.com/Re%3A-black-hole-detection-and-concurrency-td2016290.htm Black hole detection and concurrency]''
