diff --git a/lub.cabal b/lub.cabal
--- a/lub.cabal
+++ b/lub.cabal
@@ -1,5 +1,5 @@
 Name:                lub
-Version:             0.0.4
+Version:             0.0.5
 Cabal-Version:       >= 1.2
 Synopsis:            least upper bounds -- information merging
 Category:            Concurrency, Data, Other
diff --git a/src/Data/Lub.hs b/src/Data/Lub.hs
--- a/src/Data/Lub.hs
+++ b/src/Data/Lub.hs
@@ -21,7 +21,7 @@
   -- * Least upper bounds
     HasLub(..), flatLub
   -- * Some useful special applications of 'lub'
-  , parCommute, pand, por, ptimes
+  , parCommute, ptimes
   ) where
 
 import Control.Applicative (liftA2)
@@ -36,7 +36,10 @@
   -- | Least upper information bound.  Combines information available from
   -- each argument.  The arguments must be consistent, i.e., must have a
   -- common upper bound.
-  lub :: a -> a -> a
+  lub  :: a -> a -> a
+  -- | n-ary 'lub'.  Defaults to @foldr lub undefined@
+  lubs :: [a] -> a
+  lubs = foldr lub undefined
 
 -- The following instance is wrong, since it lubs two undefineds to ().
 -- 
diff --git a/wikipage.tw b/wikipage.tw
--- a/wikipage.tw
+++ b/wikipage.tw
@@ -1,17 +1,18 @@
 [[Category:Packages]]
+[[Category:Concurrency]]
 
 == Abstract ==
 
 Lub is an experiment in computing least upper information bounds on (partially defined) functional values.
-It provides a <hask>lub</hask> function that is consistent with the <hask>unamb</hask> operator but has a more liberal precondition.
-Where <hask>unamb</hask> requires its arguments to equal when neither is bottom, <hask>lub</hask> is able to synthesize a value from the partial information contained in both of its arguments.
+It provides a <hask>lub</hask> function that is consistent with the [[unamb]] operator but has a more liberal precondition.
+Where <hask>unamb</hask> requires its arguments to equal when neither is bottom, <hask>lub</hask> is able to synthesize a value from the partial information contained in both of its arguments, which is useful with non-flat types.
 
 Besides this wiki page, here are more ways to find out about lub:
+* Read the blog post ''[http://conal.net/blog/posts/merging-partial-values/ Merging partial values]''
 * Visit the [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/lub Hackage page] for library documentation and to download & install.
 * Or install with <tt>cabal install lub</tt>.
 * Get the code repository: <tt>darcs get http://code.haskell.org/lub</tt>.
 <!-- * See the [[lub/Versions| version history]]. -->
-
-Please leave comments at the [[Talk:lub|Talk page]].
+<!-- Please leave comments at the [[Talk:lub|Talk page]]. -->
 
 I got inspired for this package after [http://tunes.org/~nef/logs/haskell/08.11.17 stimulating discussions] with Thomas Davie, Russell O'Connor others in the #haskell gang.
