diff --git a/hmatrix.cabal b/hmatrix.cabal
--- a/hmatrix.cabal
+++ b/hmatrix.cabal
@@ -1,5 +1,5 @@
 Name:               hmatrix
-Version:            0.5.2.1
+Version:            0.5.2.2
 License:            GPL
 License-file:       LICENSE
 Author:             Alberto Ruiz
@@ -41,8 +41,7 @@
                     examples/devel/functions.hs
 
 extra-source-files: lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.h,
-                    lib/Numeric/LinearAlgebra/LAPACK/clapack.h,
-                    lib/Numeric/GSL/gsl-aux.h
+                    lib/Numeric/LinearAlgebra/LAPACK/clapack.h
 
 extra-source-files: lib/Numeric/GSL/Special/auto.hs,
                     lib/Numeric/GSL/Special/autoall.sh,
@@ -98,19 +97,21 @@
                         Numeric.GSL.Special.Dilog,
                         Numeric.GSL.Special.Elementary,
                         Numeric.GSL.Special.Ellint,
+                        Numeric.GSL.Special.Elljac,
                         Numeric.GSL.Special.Expint,
                         Numeric.GSL.Special.Fermi_dirac,
                         Numeric.GSL.Special.Gegenbauer,
                         Numeric.GSL.Special.Hyperg,
                         Numeric.GSL.Special.Laguerre,
                         Numeric.GSL.Special.Lambert,
+                        Numeric.GSL.Special.Legendre,
+                        Numeric.GSL.Special.Log,
                         Numeric.GSL.Special.Pow_int,
                         Numeric.GSL.Special.Psi,
                         Numeric.GSL.Special.Synchrotron,
+                        Numeric.GSL.Special.Transport,
                         Numeric.GSL.Special.Trig,
                         Numeric.GSL.Special.Zeta,
-                        Numeric.GSL.Special.Log,
-                        Numeric.GSL.Special.Legendre,
                         Numeric.GSL,
                         Numeric.LinearAlgebra,
                         Numeric.LinearAlgebra.LAPACK,
diff --git a/lib/Data/Packed/Internal/Matrix.hs b/lib/Data/Packed/Internal/Matrix.hs
--- a/lib/Data/Packed/Internal/Matrix.hs
+++ b/lib/Data/Packed/Internal/Matrix.hs
@@ -22,8 +22,8 @@
 
 import Foreign hiding (xor)
 import Complex
-import Foreign.C.String
 import Foreign.C.Types
+import Foreign.C.String
 
 -----------------------------------------------------------------
 
@@ -351,12 +351,19 @@
 fromComplex z = (r,i) where
     [r,i] = toColumns $ reshape 2 $ asReal z
 
--- | loads a matrix from an ASCII file (the number of rows and columns must be known in advance).
-fromFile :: FilePath -> (Int,Int) -> IO (Matrix Double)
-fromFile filename (r,c) = do
+--------------------------------------------------------------------------
+
+-- | Saves a matrix as 2D ASCII table.
+saveMatrix :: FilePath
+           -> String     -- ^ format (%f, %g, %e)
+           -> Matrix Double
+           -> IO ()
+saveMatrix filename fmt m = do
     charname <- newCString filename
-    res <- createMatrix RowMajor r c
-    app1 (c_gslReadMatrix charname) mat res "gslReadMatrix"
+    charfmt <- newCString fmt
+    let o = if orderOf m == RowMajor then 1 else 0
+    app1 (matrix_fprintf charname charfmt o) mat m "matrix_fprintf"
     free charname
-    return res
-foreign import ccall "matrix_fscanf" c_gslReadMatrix:: Ptr CChar -> TM
+    free charfmt
+
+foreign import ccall "matrix_fprintf" matrix_fprintf :: Ptr CChar -> Ptr CChar -> CInt -> TM
diff --git a/lib/Data/Packed/Internal/Vector.hs b/lib/Data/Packed/Internal/Vector.hs
--- a/lib/Data/Packed/Internal/Vector.hs
+++ b/lib/Data/Packed/Internal/Vector.hs
@@ -18,7 +18,8 @@
 
 import Data.Packed.Internal.Common
 import Foreign
-import Foreign.C.Types(CInt)
+import Foreign.C.String
+import Foreign.C.Types(CInt,CChar)
 import Complex
 import Control.Monad(when)
 
@@ -255,3 +256,47 @@
     where g !k !s = f k (at' v) s
           {-# INLINE g #-} -- Thanks to Ryan Ingram (http://permalink.gmane.org/gmane.comp.lang.haskell.cafe/46479)
 {-# INLINE foldVectorG #-}
+
+-------------------------------------------------------------------
+
+-- | Loads a vector from an ASCII file (the number of elements must be known in advance).
+fscanfVector :: FilePath -> Int -> IO (Vector Double)
+fscanfVector filename n = do
+    charname <- newCString filename
+    res <- createVector n
+    app1 (gsl_vector_fscanf charname) vec res "gsl_vector_fscanf"
+    free charname
+    return res
+
+foreign import ccall "vector_fscanf" gsl_vector_fscanf:: Ptr CChar -> TV
+
+-- | Saves the elements of a vector, with a given format (%f, %e, %g), to an ASCII file.
+fprintfVector :: FilePath -> String -> Vector Double -> IO ()
+fprintfVector filename fmt v = do
+    charname <- newCString filename
+    charfmt <- newCString fmt
+    app1 (gsl_vector_fprintf charname charfmt) vec v "gsl_vector_fprintf"
+    free charname
+    free charfmt
+
+foreign import ccall "vector_fprintf" gsl_vector_fprintf :: Ptr CChar -> Ptr CChar -> TV
+
+-- | Loads a vector from a binary file (the number of elements must be known in advance).
+freadVector :: FilePath -> Int -> IO (Vector Double)
+freadVector filename n = do
+    charname <- newCString filename
+    res <- createVector n
+    app1 (gsl_vector_fread charname) vec res "gsl_vector_fread"
+    free charname
+    return res
+
+foreign import ccall "vector_fread" gsl_vector_fread:: Ptr CChar -> TV
+
+-- | Saves the elements of a vector to a binary file.
+fwriteVector :: FilePath -> Vector Double -> IO ()
+fwriteVector filename v = do
+    charname <- newCString filename
+    app1 (gsl_vector_fwrite charname) vec v "gsl_vector_fwrite"
+    free charname
+
+foreign import ccall "vector_fwrite" gsl_vector_fwrite :: Ptr CChar -> TV
diff --git a/lib/Data/Packed/Matrix.hs b/lib/Data/Packed/Matrix.hs
--- a/lib/Data/Packed/Matrix.hs
+++ b/lib/Data/Packed/Matrix.hs
@@ -30,7 +30,7 @@
     ident, diag, diagRect, takeDiag,
     liftMatrix, liftMatrix2,
     format,
-    loadMatrix, fromFile, fileDimensions,
+    loadMatrix, saveMatrix, fromFile, fileDimensions,
     readMatrix, fromArray2D
 ) where
 
@@ -247,10 +247,14 @@
         then return (tot `div` c, c)
         else return (0,0)
 
-{- | loads a matrix from a formatted ASCII file.
--}
+-- | Loads a matrix from an ASCII file formatted as a 2D table.
 loadMatrix :: FilePath -> IO (Matrix Double)
 loadMatrix file = fromFile file =<< fileDimensions file
+
+-- | Loads a matrix from an ASCII file (the number of rows and columns must be known in advance).
+fromFile :: FilePath -> (Int,Int) -> IO (Matrix Double)
+fromFile filename (r,c) = reshape c `fmap` fscanfVector filename (r*c)
+
 
 -- | rearranges the rows of a matrix according to the order given in a list of integers. 
 extractRows :: Element t => [Int] -> Matrix t -> Matrix t
diff --git a/lib/Data/Packed/Vector.hs b/lib/Data/Packed/Vector.hs
--- a/lib/Data/Packed/Vector.hs
+++ b/lib/Data/Packed/Vector.hs
@@ -8,7 +8,7 @@
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- A representation of 1D arrays suitable for numeric computations using external libraries.
+-- 1D arrays suitable for numeric computations using external libraries.
 --
 -----------------------------------------------------------------------------
 
@@ -19,8 +19,10 @@
     subVector, join,
     constant, linspace,
     vectorMax, vectorMin, vectorMaxIndex, vectorMinIndex,
+    mapVector, zipVector,
+    fscanfVector, fprintfVector, freadVector, fwriteVector,
     liftVector, liftVector2,
-    foldLoop, foldVector, foldVectorG, mapVector, zipVector
+    foldLoop, foldVector, foldVectorG
 ) where
 
 import Data.Packed.Internal
diff --git a/lib/Graphics/Plot.hs b/lib/Graphics/Plot.hs
--- a/lib/Graphics/Plot.hs
+++ b/lib/Graphics/Plot.hs
@@ -40,8 +40,8 @@
 --fromFile filename = readFile filename >>= return . readMatrix read
 
 -- | Saves a real matrix to a formatted ascii text file
-toFile :: FilePath -> Matrix Double -> IO ()
-toFile filename matrix = writeFile filename (unlines . map unwords. map (map show) . toLists $ matrix)
+toFile' :: FilePath -> Matrix Double -> IO ()
+toFile' filename matrix = writeFile filename (unlines . map unwords. map (map show) . toLists $ matrix)
 
 ------------------------------------------------------------------------
 
@@ -74,7 +74,7 @@
 mesh' :: Matrix Double -> IO ()
 mesh' m = do
     writeFile "splot-gnu-command" "splot \"splot-tmp.txt\" matrix with lines; pause -1"; 
-    toFile "splot-tmp.txt" m
+    toFile' "splot-tmp.txt" m
     putStr "Press [Return] to close the graphic and continue... "
     system "gnuplot -persist splot-gnu-command"
     system "rm splot-tmp.txt splot-gnu-command"
diff --git a/lib/Numeric/GSL/Special.hs b/lib/Numeric/GSL/Special.hs
--- a/lib/Numeric/GSL/Special.hs
+++ b/lib/Numeric/GSL/Special.hs
@@ -25,6 +25,7 @@
 , module Numeric.GSL.Special.Dilog
 , module Numeric.GSL.Special.Elementary
 , module Numeric.GSL.Special.Ellint
+, module Numeric.GSL.Special.Elljac
 , module Numeric.GSL.Special.Erf
 , module Numeric.GSL.Special.Exp
 , module Numeric.GSL.Special.Expint
@@ -39,6 +40,7 @@
 , module Numeric.GSL.Special.Pow_int
 , module Numeric.GSL.Special.Psi
 , module Numeric.GSL.Special.Synchrotron
+, module Numeric.GSL.Special.Transport
 , module Numeric.GSL.Special.Trig
 , module Numeric.GSL.Special.Zeta
 )
@@ -54,6 +56,7 @@
 import Numeric.GSL.Special.Dilog
 import Numeric.GSL.Special.Elementary
 import Numeric.GSL.Special.Ellint
+import Numeric.GSL.Special.Elljac
 import Numeric.GSL.Special.Erf
 import Numeric.GSL.Special.Exp
 import Numeric.GSL.Special.Expint
@@ -68,5 +71,6 @@
 import Numeric.GSL.Special.Pow_int
 import Numeric.GSL.Special.Psi
 import Numeric.GSL.Special.Synchrotron
+import Numeric.GSL.Special.Transport
 import Numeric.GSL.Special.Trig
 import Numeric.GSL.Special.Zeta
diff --git a/lib/Numeric/GSL/Special/Airy.hs b/lib/Numeric/GSL/Special/Airy.hs
--- a/lib/Numeric/GSL/Special/Airy.hs
+++ b/lib/Numeric/GSL/Special/Airy.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Airy
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_airy.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Airy
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_airy.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Airy(
@@ -45,171 +43,75 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_airy_Ai_e(double x,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Ai_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Ai_e :: Double -> Precision -> (Double,Double)
 airy_Ai_e x mode = createSFR "airy_Ai_e" $ gsl_sf_airy_Ai_e x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Ai_e" gsl_sf_airy_Ai_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_Ai(double x,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Ai&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Ai :: Double -> Precision -> Double
 airy_Ai x mode = gsl_sf_airy_Ai x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Ai" gsl_sf_airy_Ai :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_airy_Bi_e(double x,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Bi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Bi_e :: Double -> Precision -> (Double,Double)
 airy_Bi_e x mode = createSFR "airy_Bi_e" $ gsl_sf_airy_Bi_e x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Bi_e" gsl_sf_airy_Bi_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_Bi(double x,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Bi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Bi :: Double -> Precision -> Double
 airy_Bi x mode = gsl_sf_airy_Bi x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Bi" gsl_sf_airy_Bi :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_airy_Ai_scaled_e(double x,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Ai_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Ai_scaled_e :: Double -> Precision -> (Double,Double)
 airy_Ai_scaled_e x mode = createSFR "airy_Ai_scaled_e" $ gsl_sf_airy_Ai_scaled_e x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Ai_scaled_e" gsl_sf_airy_Ai_scaled_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_Ai_scaled(double x,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Ai_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Ai_scaled :: Double -> Precision -> Double
 airy_Ai_scaled x mode = gsl_sf_airy_Ai_scaled x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Ai_scaled" gsl_sf_airy_Ai_scaled :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_airy_Bi_scaled_e(double x,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Bi_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Bi_scaled_e :: Double -> Precision -> (Double,Double)
 airy_Bi_scaled_e x mode = createSFR "airy_Bi_scaled_e" $ gsl_sf_airy_Bi_scaled_e x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Bi_scaled_e" gsl_sf_airy_Bi_scaled_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_Bi_scaled(double x,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Bi_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Bi_scaled :: Double -> Precision -> Double
 airy_Bi_scaled x mode = gsl_sf_airy_Bi_scaled x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Bi_scaled" gsl_sf_airy_Bi_scaled :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_airy_Ai_deriv_e(double x,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Ai_deriv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Ai_deriv_e :: Double -> Precision -> (Double,Double)
 airy_Ai_deriv_e x mode = createSFR "airy_Ai_deriv_e" $ gsl_sf_airy_Ai_deriv_e x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Ai_deriv_e" gsl_sf_airy_Ai_deriv_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_Ai_deriv(double x,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Ai_deriv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Ai_deriv :: Double -> Precision -> Double
 airy_Ai_deriv x mode = gsl_sf_airy_Ai_deriv x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Ai_deriv" gsl_sf_airy_Ai_deriv :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_airy_Bi_deriv_e(double x,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Bi_deriv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Bi_deriv_e :: Double -> Precision -> (Double,Double)
 airy_Bi_deriv_e x mode = createSFR "airy_Bi_deriv_e" $ gsl_sf_airy_Bi_deriv_e x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Bi_deriv_e" gsl_sf_airy_Bi_deriv_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_Bi_deriv(double x,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Bi_deriv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Bi_deriv :: Double -> Precision -> Double
 airy_Bi_deriv x mode = gsl_sf_airy_Bi_deriv x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Bi_deriv" gsl_sf_airy_Bi_deriv :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_airy_Ai_deriv_scaled_e(double x,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Ai_deriv_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Ai_deriv_scaled_e :: Double -> Precision -> (Double,Double)
 airy_Ai_deriv_scaled_e x mode = createSFR "airy_Ai_deriv_scaled_e" $ gsl_sf_airy_Ai_deriv_scaled_e x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Ai_deriv_scaled_e" gsl_sf_airy_Ai_deriv_scaled_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_Ai_deriv_scaled(double x,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Ai_deriv_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Ai_deriv_scaled :: Double -> Precision -> Double
 airy_Ai_deriv_scaled x mode = gsl_sf_airy_Ai_deriv_scaled x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Ai_deriv_scaled" gsl_sf_airy_Ai_deriv_scaled :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_airy_Bi_deriv_scaled_e(double x,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Bi_deriv_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Bi_deriv_scaled_e :: Double -> Precision -> (Double,Double)
 airy_Bi_deriv_scaled_e x mode = createSFR "airy_Bi_deriv_scaled_e" $ gsl_sf_airy_Bi_deriv_scaled_e x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Bi_deriv_scaled_e" gsl_sf_airy_Bi_deriv_scaled_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_Bi_deriv_scaled(double x,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_airy_Bi_deriv_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_Bi_deriv_scaled :: Double -> Precision -> Double
 airy_Bi_deriv_scaled x mode = gsl_sf_airy_Bi_deriv_scaled x  (precCode mode)
 foreign import ccall "gsl_sf_airy_Bi_deriv_scaled" gsl_sf_airy_Bi_deriv_scaled :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_airy_zero_Ai_e(int s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_zero_Ai_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_zero_Ai_e :: CInt -> (Double,Double)
 airy_zero_Ai_e s = createSFR "airy_zero_Ai_e" $ gsl_sf_airy_zero_Ai_e s
 foreign import ccall "gsl_sf_airy_zero_Ai_e" gsl_sf_airy_zero_Ai_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_zero_Ai(int s);
---
---   <http://www.google.com/search?q=gsl_sf_airy_zero_Ai&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_zero_Ai :: CInt -> Double
 airy_zero_Ai = gsl_sf_airy_zero_Ai
 foreign import ccall "gsl_sf_airy_zero_Ai" gsl_sf_airy_zero_Ai :: CInt -> Double
-
--- | wrapper for int gsl_sf_airy_zero_Bi_e(int s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_zero_Bi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_zero_Bi_e :: CInt -> (Double,Double)
 airy_zero_Bi_e s = createSFR "airy_zero_Bi_e" $ gsl_sf_airy_zero_Bi_e s
 foreign import ccall "gsl_sf_airy_zero_Bi_e" gsl_sf_airy_zero_Bi_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_zero_Bi(int s);
---
---   <http://www.google.com/search?q=gsl_sf_airy_zero_Bi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_zero_Bi :: CInt -> Double
 airy_zero_Bi = gsl_sf_airy_zero_Bi
 foreign import ccall "gsl_sf_airy_zero_Bi" gsl_sf_airy_zero_Bi :: CInt -> Double
-
--- | wrapper for int gsl_sf_airy_zero_Ai_deriv_e(int s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_zero_Ai_deriv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_zero_Ai_deriv_e :: CInt -> (Double,Double)
 airy_zero_Ai_deriv_e s = createSFR "airy_zero_Ai_deriv_e" $ gsl_sf_airy_zero_Ai_deriv_e s
 foreign import ccall "gsl_sf_airy_zero_Ai_deriv_e" gsl_sf_airy_zero_Ai_deriv_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_zero_Ai_deriv(int s);
---
---   <http://www.google.com/search?q=gsl_sf_airy_zero_Ai_deriv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_zero_Ai_deriv :: CInt -> Double
 airy_zero_Ai_deriv = gsl_sf_airy_zero_Ai_deriv
 foreign import ccall "gsl_sf_airy_zero_Ai_deriv" gsl_sf_airy_zero_Ai_deriv :: CInt -> Double
-
--- | wrapper for int gsl_sf_airy_zero_Bi_deriv_e(int s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_airy_zero_Bi_deriv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_zero_Bi_deriv_e :: CInt -> (Double,Double)
 airy_zero_Bi_deriv_e s = createSFR "airy_zero_Bi_deriv_e" $ gsl_sf_airy_zero_Bi_deriv_e s
 foreign import ccall "gsl_sf_airy_zero_Bi_deriv_e" gsl_sf_airy_zero_Bi_deriv_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_airy_zero_Bi_deriv(int s);
---
---   <http://www.google.com/search?q=gsl_sf_airy_zero_Bi_deriv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 airy_zero_Bi_deriv :: CInt -> Double
 airy_zero_Bi_deriv = gsl_sf_airy_zero_Bi_deriv
 foreign import ccall "gsl_sf_airy_zero_Bi_deriv" gsl_sf_airy_zero_Bi_deriv :: CInt -> Double
diff --git a/lib/Numeric/GSL/Special/Bessel.hs b/lib/Numeric/GSL/Special/Bessel.hs
--- a/lib/Numeric/GSL/Special/Bessel.hs
+++ b/lib/Numeric/GSL/Special/Bessel.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Bessel
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_bessel.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Bessel
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_bessel.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Bessel(
@@ -108,703 +106,303 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_bessel_J0_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_J0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_J0_e :: Double -> (Double,Double)
 bessel_J0_e x = createSFR "bessel_J0_e" $ gsl_sf_bessel_J0_e x
 foreign import ccall "gsl_sf_bessel_J0_e" gsl_sf_bessel_J0_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_J0(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_J0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_J0 :: Double -> Double
 bessel_J0 = gsl_sf_bessel_J0
 foreign import ccall "gsl_sf_bessel_J0" gsl_sf_bessel_J0 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_J1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_J1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_J1_e :: Double -> (Double,Double)
 bessel_J1_e x = createSFR "bessel_J1_e" $ gsl_sf_bessel_J1_e x
 foreign import ccall "gsl_sf_bessel_J1_e" gsl_sf_bessel_J1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_J1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_J1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_J1 :: Double -> Double
 bessel_J1 = gsl_sf_bessel_J1
 foreign import ccall "gsl_sf_bessel_J1" gsl_sf_bessel_J1 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Jn_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Jn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Jn_e :: CInt -> Double -> (Double,Double)
 bessel_Jn_e n x = createSFR "bessel_Jn_e" $ gsl_sf_bessel_Jn_e n x
 foreign import ccall "gsl_sf_bessel_Jn_e" gsl_sf_bessel_Jn_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Jn(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Jn&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Jn :: CInt -> Double -> Double
 bessel_Jn = gsl_sf_bessel_Jn
 foreign import ccall "gsl_sf_bessel_Jn" gsl_sf_bessel_Jn :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Jn_array(int nmin,int nmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Jn_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Jn_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
 bessel_Jn_array = gsl_sf_bessel_Jn_array
 foreign import ccall "gsl_sf_bessel_Jn_array" gsl_sf_bessel_Jn_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_Y0_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Y0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Y0_e :: Double -> (Double,Double)
 bessel_Y0_e x = createSFR "bessel_Y0_e" $ gsl_sf_bessel_Y0_e x
 foreign import ccall "gsl_sf_bessel_Y0_e" gsl_sf_bessel_Y0_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Y0(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Y0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Y0 :: Double -> Double
 bessel_Y0 = gsl_sf_bessel_Y0
 foreign import ccall "gsl_sf_bessel_Y0" gsl_sf_bessel_Y0 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Y1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Y1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Y1_e :: Double -> (Double,Double)
 bessel_Y1_e x = createSFR "bessel_Y1_e" $ gsl_sf_bessel_Y1_e x
 foreign import ccall "gsl_sf_bessel_Y1_e" gsl_sf_bessel_Y1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Y1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Y1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Y1 :: Double -> Double
 bessel_Y1 = gsl_sf_bessel_Y1
 foreign import ccall "gsl_sf_bessel_Y1" gsl_sf_bessel_Y1 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Yn_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Yn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Yn_e :: CInt -> Double -> (Double,Double)
 bessel_Yn_e n x = createSFR "bessel_Yn_e" $ gsl_sf_bessel_Yn_e n x
 foreign import ccall "gsl_sf_bessel_Yn_e" gsl_sf_bessel_Yn_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Yn(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Yn&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Yn :: CInt -> Double -> Double
 bessel_Yn = gsl_sf_bessel_Yn
 foreign import ccall "gsl_sf_bessel_Yn" gsl_sf_bessel_Yn :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Yn_array(int nmin,int nmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Yn_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Yn_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
 bessel_Yn_array = gsl_sf_bessel_Yn_array
 foreign import ccall "gsl_sf_bessel_Yn_array" gsl_sf_bessel_Yn_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_I0_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_I0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_I0_e :: Double -> (Double,Double)
 bessel_I0_e x = createSFR "bessel_I0_e" $ gsl_sf_bessel_I0_e x
 foreign import ccall "gsl_sf_bessel_I0_e" gsl_sf_bessel_I0_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_I0(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_I0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_I0 :: Double -> Double
 bessel_I0 = gsl_sf_bessel_I0
 foreign import ccall "gsl_sf_bessel_I0" gsl_sf_bessel_I0 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_I1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_I1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_I1_e :: Double -> (Double,Double)
 bessel_I1_e x = createSFR "bessel_I1_e" $ gsl_sf_bessel_I1_e x
 foreign import ccall "gsl_sf_bessel_I1_e" gsl_sf_bessel_I1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_I1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_I1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_I1 :: Double -> Double
 bessel_I1 = gsl_sf_bessel_I1
 foreign import ccall "gsl_sf_bessel_I1" gsl_sf_bessel_I1 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_In_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_In_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_In_e :: CInt -> Double -> (Double,Double)
 bessel_In_e n x = createSFR "bessel_In_e" $ gsl_sf_bessel_In_e n x
 foreign import ccall "gsl_sf_bessel_In_e" gsl_sf_bessel_In_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_In(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_In&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_In :: CInt -> Double -> Double
 bessel_In = gsl_sf_bessel_In
 foreign import ccall "gsl_sf_bessel_In" gsl_sf_bessel_In :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_In_array(int nmin,int nmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_In_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_In_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
 bessel_In_array = gsl_sf_bessel_In_array
 foreign import ccall "gsl_sf_bessel_In_array" gsl_sf_bessel_In_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_I0_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_I0_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_I0_scaled_e :: Double -> (Double,Double)
 bessel_I0_scaled_e x = createSFR "bessel_I0_scaled_e" $ gsl_sf_bessel_I0_scaled_e x
 foreign import ccall "gsl_sf_bessel_I0_scaled_e" gsl_sf_bessel_I0_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_I0_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_I0_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_I0_scaled :: Double -> Double
 bessel_I0_scaled = gsl_sf_bessel_I0_scaled
 foreign import ccall "gsl_sf_bessel_I0_scaled" gsl_sf_bessel_I0_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_I1_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_I1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_I1_scaled_e :: Double -> (Double,Double)
 bessel_I1_scaled_e x = createSFR "bessel_I1_scaled_e" $ gsl_sf_bessel_I1_scaled_e x
 foreign import ccall "gsl_sf_bessel_I1_scaled_e" gsl_sf_bessel_I1_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_I1_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_I1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_I1_scaled :: Double -> Double
 bessel_I1_scaled = gsl_sf_bessel_I1_scaled
 foreign import ccall "gsl_sf_bessel_I1_scaled" gsl_sf_bessel_I1_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_In_scaled_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_In_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_In_scaled_e :: CInt -> Double -> (Double,Double)
 bessel_In_scaled_e n x = createSFR "bessel_In_scaled_e" $ gsl_sf_bessel_In_scaled_e n x
 foreign import ccall "gsl_sf_bessel_In_scaled_e" gsl_sf_bessel_In_scaled_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_In_scaled(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_In_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_In_scaled :: CInt -> Double -> Double
 bessel_In_scaled = gsl_sf_bessel_In_scaled
 foreign import ccall "gsl_sf_bessel_In_scaled" gsl_sf_bessel_In_scaled :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_In_scaled_array(int nmin,int nmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_In_scaled_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_In_scaled_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
 bessel_In_scaled_array = gsl_sf_bessel_In_scaled_array
 foreign import ccall "gsl_sf_bessel_In_scaled_array" gsl_sf_bessel_In_scaled_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_K0_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_K0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_K0_e :: Double -> (Double,Double)
 bessel_K0_e x = createSFR "bessel_K0_e" $ gsl_sf_bessel_K0_e x
 foreign import ccall "gsl_sf_bessel_K0_e" gsl_sf_bessel_K0_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_K0(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_K0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_K0 :: Double -> Double
 bessel_K0 = gsl_sf_bessel_K0
 foreign import ccall "gsl_sf_bessel_K0" gsl_sf_bessel_K0 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_K1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_K1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_K1_e :: Double -> (Double,Double)
 bessel_K1_e x = createSFR "bessel_K1_e" $ gsl_sf_bessel_K1_e x
 foreign import ccall "gsl_sf_bessel_K1_e" gsl_sf_bessel_K1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_K1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_K1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_K1 :: Double -> Double
 bessel_K1 = gsl_sf_bessel_K1
 foreign import ccall "gsl_sf_bessel_K1" gsl_sf_bessel_K1 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Kn_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Kn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Kn_e :: CInt -> Double -> (Double,Double)
 bessel_Kn_e n x = createSFR "bessel_Kn_e" $ gsl_sf_bessel_Kn_e n x
 foreign import ccall "gsl_sf_bessel_Kn_e" gsl_sf_bessel_Kn_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Kn(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Kn&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Kn :: CInt -> Double -> Double
 bessel_Kn = gsl_sf_bessel_Kn
 foreign import ccall "gsl_sf_bessel_Kn" gsl_sf_bessel_Kn :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Kn_array(int nmin,int nmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Kn_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Kn_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
 bessel_Kn_array = gsl_sf_bessel_Kn_array
 foreign import ccall "gsl_sf_bessel_Kn_array" gsl_sf_bessel_Kn_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_K0_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_K0_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_K0_scaled_e :: Double -> (Double,Double)
 bessel_K0_scaled_e x = createSFR "bessel_K0_scaled_e" $ gsl_sf_bessel_K0_scaled_e x
 foreign import ccall "gsl_sf_bessel_K0_scaled_e" gsl_sf_bessel_K0_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_K0_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_K0_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_K0_scaled :: Double -> Double
 bessel_K0_scaled = gsl_sf_bessel_K0_scaled
 foreign import ccall "gsl_sf_bessel_K0_scaled" gsl_sf_bessel_K0_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_K1_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_K1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_K1_scaled_e :: Double -> (Double,Double)
 bessel_K1_scaled_e x = createSFR "bessel_K1_scaled_e" $ gsl_sf_bessel_K1_scaled_e x
 foreign import ccall "gsl_sf_bessel_K1_scaled_e" gsl_sf_bessel_K1_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_K1_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_K1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_K1_scaled :: Double -> Double
 bessel_K1_scaled = gsl_sf_bessel_K1_scaled
 foreign import ccall "gsl_sf_bessel_K1_scaled" gsl_sf_bessel_K1_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Kn_scaled_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Kn_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Kn_scaled_e :: CInt -> Double -> (Double,Double)
 bessel_Kn_scaled_e n x = createSFR "bessel_Kn_scaled_e" $ gsl_sf_bessel_Kn_scaled_e n x
 foreign import ccall "gsl_sf_bessel_Kn_scaled_e" gsl_sf_bessel_Kn_scaled_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Kn_scaled(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Kn_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Kn_scaled :: CInt -> Double -> Double
 bessel_Kn_scaled = gsl_sf_bessel_Kn_scaled
 foreign import ccall "gsl_sf_bessel_Kn_scaled" gsl_sf_bessel_Kn_scaled :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Kn_scaled_array(int nmin,int nmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Kn_scaled_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Kn_scaled_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
 bessel_Kn_scaled_array = gsl_sf_bessel_Kn_scaled_array
 foreign import ccall "gsl_sf_bessel_Kn_scaled_array" gsl_sf_bessel_Kn_scaled_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_j0_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_j0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_j0_e :: Double -> (Double,Double)
 bessel_j0_e x = createSFR "bessel_j0_e" $ gsl_sf_bessel_j0_e x
 foreign import ccall "gsl_sf_bessel_j0_e" gsl_sf_bessel_j0_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_j0(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_j0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_j0 :: Double -> Double
 bessel_j0 = gsl_sf_bessel_j0
 foreign import ccall "gsl_sf_bessel_j0" gsl_sf_bessel_j0 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_j1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_j1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_j1_e :: Double -> (Double,Double)
 bessel_j1_e x = createSFR "bessel_j1_e" $ gsl_sf_bessel_j1_e x
 foreign import ccall "gsl_sf_bessel_j1_e" gsl_sf_bessel_j1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_j1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_j1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_j1 :: Double -> Double
 bessel_j1 = gsl_sf_bessel_j1
 foreign import ccall "gsl_sf_bessel_j1" gsl_sf_bessel_j1 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_j2_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_j2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_j2_e :: Double -> (Double,Double)
 bessel_j2_e x = createSFR "bessel_j2_e" $ gsl_sf_bessel_j2_e x
 foreign import ccall "gsl_sf_bessel_j2_e" gsl_sf_bessel_j2_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_j2(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_j2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_j2 :: Double -> Double
 bessel_j2 = gsl_sf_bessel_j2
 foreign import ccall "gsl_sf_bessel_j2" gsl_sf_bessel_j2 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_jl_e(int l,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_jl_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_jl_e :: CInt -> Double -> (Double,Double)
 bessel_jl_e l x = createSFR "bessel_jl_e" $ gsl_sf_bessel_jl_e l x
 foreign import ccall "gsl_sf_bessel_jl_e" gsl_sf_bessel_jl_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_jl(int l,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_jl&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_jl :: CInt -> Double -> Double
 bessel_jl = gsl_sf_bessel_jl
 foreign import ccall "gsl_sf_bessel_jl" gsl_sf_bessel_jl :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_jl_array(int lmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_jl_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_jl_array :: CInt -> Double -> Ptr Double -> CInt
 bessel_jl_array = gsl_sf_bessel_jl_array
 foreign import ccall "gsl_sf_bessel_jl_array" gsl_sf_bessel_jl_array :: CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_jl_steed_array(int lmax,double x,double* jl_x_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_jl_steed_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_jl_steed_array :: CInt -> Double -> Ptr Double -> CInt
 bessel_jl_steed_array = gsl_sf_bessel_jl_steed_array
 foreign import ccall "gsl_sf_bessel_jl_steed_array" gsl_sf_bessel_jl_steed_array :: CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_y0_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_y0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_y0_e :: Double -> (Double,Double)
 bessel_y0_e x = createSFR "bessel_y0_e" $ gsl_sf_bessel_y0_e x
 foreign import ccall "gsl_sf_bessel_y0_e" gsl_sf_bessel_y0_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_y0(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_y0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_y0 :: Double -> Double
 bessel_y0 = gsl_sf_bessel_y0
 foreign import ccall "gsl_sf_bessel_y0" gsl_sf_bessel_y0 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_y1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_y1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_y1_e :: Double -> (Double,Double)
 bessel_y1_e x = createSFR "bessel_y1_e" $ gsl_sf_bessel_y1_e x
 foreign import ccall "gsl_sf_bessel_y1_e" gsl_sf_bessel_y1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_y1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_y1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_y1 :: Double -> Double
 bessel_y1 = gsl_sf_bessel_y1
 foreign import ccall "gsl_sf_bessel_y1" gsl_sf_bessel_y1 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_y2_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_y2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_y2_e :: Double -> (Double,Double)
 bessel_y2_e x = createSFR "bessel_y2_e" $ gsl_sf_bessel_y2_e x
 foreign import ccall "gsl_sf_bessel_y2_e" gsl_sf_bessel_y2_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_y2(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_y2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_y2 :: Double -> Double
 bessel_y2 = gsl_sf_bessel_y2
 foreign import ccall "gsl_sf_bessel_y2" gsl_sf_bessel_y2 :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_yl_e(int l,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_yl_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_yl_e :: CInt -> Double -> (Double,Double)
 bessel_yl_e l x = createSFR "bessel_yl_e" $ gsl_sf_bessel_yl_e l x
 foreign import ccall "gsl_sf_bessel_yl_e" gsl_sf_bessel_yl_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_yl(int l,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_yl&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_yl :: CInt -> Double -> Double
 bessel_yl = gsl_sf_bessel_yl
 foreign import ccall "gsl_sf_bessel_yl" gsl_sf_bessel_yl :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_yl_array(int lmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_yl_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_yl_array :: CInt -> Double -> Ptr Double -> CInt
 bessel_yl_array = gsl_sf_bessel_yl_array
 foreign import ccall "gsl_sf_bessel_yl_array" gsl_sf_bessel_yl_array :: CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_i0_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_i0_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_i0_scaled_e :: Double -> (Double,Double)
 bessel_i0_scaled_e x = createSFR "bessel_i0_scaled_e" $ gsl_sf_bessel_i0_scaled_e x
 foreign import ccall "gsl_sf_bessel_i0_scaled_e" gsl_sf_bessel_i0_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_i0_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_i0_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_i0_scaled :: Double -> Double
 bessel_i0_scaled = gsl_sf_bessel_i0_scaled
 foreign import ccall "gsl_sf_bessel_i0_scaled" gsl_sf_bessel_i0_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_i1_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_i1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_i1_scaled_e :: Double -> (Double,Double)
 bessel_i1_scaled_e x = createSFR "bessel_i1_scaled_e" $ gsl_sf_bessel_i1_scaled_e x
 foreign import ccall "gsl_sf_bessel_i1_scaled_e" gsl_sf_bessel_i1_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_i1_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_i1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_i1_scaled :: Double -> Double
 bessel_i1_scaled = gsl_sf_bessel_i1_scaled
 foreign import ccall "gsl_sf_bessel_i1_scaled" gsl_sf_bessel_i1_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_i2_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_i2_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_i2_scaled_e :: Double -> (Double,Double)
 bessel_i2_scaled_e x = createSFR "bessel_i2_scaled_e" $ gsl_sf_bessel_i2_scaled_e x
 foreign import ccall "gsl_sf_bessel_i2_scaled_e" gsl_sf_bessel_i2_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_i2_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_i2_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_i2_scaled :: Double -> Double
 bessel_i2_scaled = gsl_sf_bessel_i2_scaled
 foreign import ccall "gsl_sf_bessel_i2_scaled" gsl_sf_bessel_i2_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_il_scaled_e(int l,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_il_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_il_scaled_e :: CInt -> Double -> (Double,Double)
 bessel_il_scaled_e l x = createSFR "bessel_il_scaled_e" $ gsl_sf_bessel_il_scaled_e l x
 foreign import ccall "gsl_sf_bessel_il_scaled_e" gsl_sf_bessel_il_scaled_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_il_scaled(int l,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_il_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_il_scaled :: CInt -> Double -> Double
 bessel_il_scaled = gsl_sf_bessel_il_scaled
 foreign import ccall "gsl_sf_bessel_il_scaled" gsl_sf_bessel_il_scaled :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_il_scaled_array(int lmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_il_scaled_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_il_scaled_array :: CInt -> Double -> Ptr Double -> CInt
 bessel_il_scaled_array = gsl_sf_bessel_il_scaled_array
 foreign import ccall "gsl_sf_bessel_il_scaled_array" gsl_sf_bessel_il_scaled_array :: CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_k0_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_k0_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_k0_scaled_e :: Double -> (Double,Double)
 bessel_k0_scaled_e x = createSFR "bessel_k0_scaled_e" $ gsl_sf_bessel_k0_scaled_e x
 foreign import ccall "gsl_sf_bessel_k0_scaled_e" gsl_sf_bessel_k0_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_k0_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_k0_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_k0_scaled :: Double -> Double
 bessel_k0_scaled = gsl_sf_bessel_k0_scaled
 foreign import ccall "gsl_sf_bessel_k0_scaled" gsl_sf_bessel_k0_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_k1_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_k1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_k1_scaled_e :: Double -> (Double,Double)
 bessel_k1_scaled_e x = createSFR "bessel_k1_scaled_e" $ gsl_sf_bessel_k1_scaled_e x
 foreign import ccall "gsl_sf_bessel_k1_scaled_e" gsl_sf_bessel_k1_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_k1_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_k1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_k1_scaled :: Double -> Double
 bessel_k1_scaled = gsl_sf_bessel_k1_scaled
 foreign import ccall "gsl_sf_bessel_k1_scaled" gsl_sf_bessel_k1_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_k2_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_k2_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_k2_scaled_e :: Double -> (Double,Double)
 bessel_k2_scaled_e x = createSFR "bessel_k2_scaled_e" $ gsl_sf_bessel_k2_scaled_e x
 foreign import ccall "gsl_sf_bessel_k2_scaled_e" gsl_sf_bessel_k2_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_k2_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_k2_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_k2_scaled :: Double -> Double
 bessel_k2_scaled = gsl_sf_bessel_k2_scaled
 foreign import ccall "gsl_sf_bessel_k2_scaled" gsl_sf_bessel_k2_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_bessel_kl_scaled_e(int l,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_kl_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_kl_scaled_e :: CInt -> Double -> (Double,Double)
 bessel_kl_scaled_e l x = createSFR "bessel_kl_scaled_e" $ gsl_sf_bessel_kl_scaled_e l x
 foreign import ccall "gsl_sf_bessel_kl_scaled_e" gsl_sf_bessel_kl_scaled_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_kl_scaled(int l,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_kl_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_kl_scaled :: CInt -> Double -> Double
 bessel_kl_scaled = gsl_sf_bessel_kl_scaled
 foreign import ccall "gsl_sf_bessel_kl_scaled" gsl_sf_bessel_kl_scaled :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_kl_scaled_array(int lmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_kl_scaled_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_kl_scaled_array :: CInt -> Double -> Ptr Double -> CInt
 bessel_kl_scaled_array = gsl_sf_bessel_kl_scaled_array
 foreign import ccall "gsl_sf_bessel_kl_scaled_array" gsl_sf_bessel_kl_scaled_array :: CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_Jnu_e(double nu,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Jnu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Jnu_e :: Double -> Double -> (Double,Double)
 bessel_Jnu_e nu x = createSFR "bessel_Jnu_e" $ gsl_sf_bessel_Jnu_e nu x
 foreign import ccall "gsl_sf_bessel_Jnu_e" gsl_sf_bessel_Jnu_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Jnu(double nu,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Jnu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Jnu :: Double -> Double -> Double
 bessel_Jnu = gsl_sf_bessel_Jnu
 foreign import ccall "gsl_sf_bessel_Jnu" gsl_sf_bessel_Jnu :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Ynu_e(double nu,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Ynu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Ynu_e :: Double -> Double -> (Double,Double)
 bessel_Ynu_e nu x = createSFR "bessel_Ynu_e" $ gsl_sf_bessel_Ynu_e nu x
 foreign import ccall "gsl_sf_bessel_Ynu_e" gsl_sf_bessel_Ynu_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Ynu(double nu,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Ynu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Ynu :: Double -> Double -> Double
 bessel_Ynu = gsl_sf_bessel_Ynu
 foreign import ccall "gsl_sf_bessel_Ynu" gsl_sf_bessel_Ynu :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_sequence_Jnu_e(double nu,gsl_mode_t mode,size_t size,double* v);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_sequence_Jnu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_sequence_Jnu_e :: Double -> Precision -> Size_t -> Ptr Double -> CInt
 bessel_sequence_Jnu_e nu mode size v = gsl_sf_bessel_sequence_Jnu_e nu  (precCode mode) size v
 foreign import ccall "gsl_sf_bessel_sequence_Jnu_e" gsl_sf_bessel_sequence_Jnu_e :: Double -> Gsl_mode_t -> Size_t -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_bessel_Inu_scaled_e(double nu,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Inu_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Inu_scaled_e :: Double -> Double -> (Double,Double)
 bessel_Inu_scaled_e nu x = createSFR "bessel_Inu_scaled_e" $ gsl_sf_bessel_Inu_scaled_e nu x
 foreign import ccall "gsl_sf_bessel_Inu_scaled_e" gsl_sf_bessel_Inu_scaled_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Inu_scaled(double nu,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Inu_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Inu_scaled :: Double -> Double -> Double
 bessel_Inu_scaled = gsl_sf_bessel_Inu_scaled
 foreign import ccall "gsl_sf_bessel_Inu_scaled" gsl_sf_bessel_Inu_scaled :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Inu_e(double nu,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Inu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Inu_e :: Double -> Double -> (Double,Double)
 bessel_Inu_e nu x = createSFR "bessel_Inu_e" $ gsl_sf_bessel_Inu_e nu x
 foreign import ccall "gsl_sf_bessel_Inu_e" gsl_sf_bessel_Inu_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Inu(double nu,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Inu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Inu :: Double -> Double -> Double
 bessel_Inu = gsl_sf_bessel_Inu
 foreign import ccall "gsl_sf_bessel_Inu" gsl_sf_bessel_Inu :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Knu_scaled_e(double nu,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Knu_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Knu_scaled_e :: Double -> Double -> (Double,Double)
 bessel_Knu_scaled_e nu x = createSFR "bessel_Knu_scaled_e" $ gsl_sf_bessel_Knu_scaled_e nu x
 foreign import ccall "gsl_sf_bessel_Knu_scaled_e" gsl_sf_bessel_Knu_scaled_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Knu_scaled(double nu,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Knu_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Knu_scaled :: Double -> Double -> Double
 bessel_Knu_scaled = gsl_sf_bessel_Knu_scaled
 foreign import ccall "gsl_sf_bessel_Knu_scaled" gsl_sf_bessel_Knu_scaled :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_Knu_e(double nu,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Knu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Knu_e :: Double -> Double -> (Double,Double)
 bessel_Knu_e nu x = createSFR "bessel_Knu_e" $ gsl_sf_bessel_Knu_e nu x
 foreign import ccall "gsl_sf_bessel_Knu_e" gsl_sf_bessel_Knu_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_Knu(double nu,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_Knu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_Knu :: Double -> Double -> Double
 bessel_Knu = gsl_sf_bessel_Knu
 foreign import ccall "gsl_sf_bessel_Knu" gsl_sf_bessel_Knu :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_lnKnu_e(double nu,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_lnKnu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_lnKnu_e :: Double -> Double -> (Double,Double)
 bessel_lnKnu_e nu x = createSFR "bessel_lnKnu_e" $ gsl_sf_bessel_lnKnu_e nu x
 foreign import ccall "gsl_sf_bessel_lnKnu_e" gsl_sf_bessel_lnKnu_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_lnKnu(double nu,double x);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_lnKnu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_lnKnu :: Double -> Double -> Double
 bessel_lnKnu = gsl_sf_bessel_lnKnu
 foreign import ccall "gsl_sf_bessel_lnKnu" gsl_sf_bessel_lnKnu :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_bessel_zero_J0_e(int s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_zero_J0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_zero_J0_e :: CInt -> (Double,Double)
 bessel_zero_J0_e s = createSFR "bessel_zero_J0_e" $ gsl_sf_bessel_zero_J0_e s
 foreign import ccall "gsl_sf_bessel_zero_J0_e" gsl_sf_bessel_zero_J0_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_zero_J0(int s);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_zero_J0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_zero_J0 :: CInt -> Double
 bessel_zero_J0 = gsl_sf_bessel_zero_J0
 foreign import ccall "gsl_sf_bessel_zero_J0" gsl_sf_bessel_zero_J0 :: CInt -> Double
-
--- | wrapper for int gsl_sf_bessel_zero_J1_e(int s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_zero_J1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_zero_J1_e :: CInt -> (Double,Double)
 bessel_zero_J1_e s = createSFR "bessel_zero_J1_e" $ gsl_sf_bessel_zero_J1_e s
 foreign import ccall "gsl_sf_bessel_zero_J1_e" gsl_sf_bessel_zero_J1_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_zero_J1(int s);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_zero_J1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_zero_J1 :: CInt -> Double
 bessel_zero_J1 = gsl_sf_bessel_zero_J1
 foreign import ccall "gsl_sf_bessel_zero_J1" gsl_sf_bessel_zero_J1 :: CInt -> Double
-
--- | wrapper for int gsl_sf_bessel_zero_Jnu_e(double nu,int s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_zero_Jnu_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_zero_Jnu_e :: Double -> CInt -> (Double,Double)
 bessel_zero_Jnu_e nu s = createSFR "bessel_zero_Jnu_e" $ gsl_sf_bessel_zero_Jnu_e nu s
 foreign import ccall "gsl_sf_bessel_zero_Jnu_e" gsl_sf_bessel_zero_Jnu_e :: Double -> CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_bessel_zero_Jnu(double nu,int s);
---
---   <http://www.google.com/search?q=gsl_sf_bessel_zero_Jnu&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 bessel_zero_Jnu :: Double -> CInt -> Double
 bessel_zero_Jnu = gsl_sf_bessel_zero_Jnu
 foreign import ccall "gsl_sf_bessel_zero_Jnu" gsl_sf_bessel_zero_Jnu :: Double -> CInt -> Double
diff --git a/lib/Numeric/GSL/Special/Clausen.hs b/lib/Numeric/GSL/Special/Clausen.hs
--- a/lib/Numeric/GSL/Special/Clausen.hs
+++ b/lib/Numeric/GSL/Special/Clausen.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Clausen
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_clausen.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Clausen
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_clausen.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Clausen(
@@ -22,17 +20,9 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_clausen_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_clausen_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 clausen_e :: Double -> (Double,Double)
 clausen_e x = createSFR "clausen_e" $ gsl_sf_clausen_e x
 foreign import ccall "gsl_sf_clausen_e" gsl_sf_clausen_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_clausen(double x);
---
---   <http://www.google.com/search?q=gsl_sf_clausen&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 clausen :: Double -> Double
 clausen = gsl_sf_clausen
 foreign import ccall "gsl_sf_clausen" gsl_sf_clausen :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Coulomb.hs b/lib/Numeric/GSL/Special/Coulomb.hs
--- a/lib/Numeric/GSL/Special/Coulomb.hs
+++ b/lib/Numeric/GSL/Special/Coulomb.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Coulomb
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_coulomb.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Coulomb
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_coulomb.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Coulomb(
@@ -25,80 +23,36 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_hydrogenicR_1_e(double Z,double r,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hydrogenicR_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hydrogenicR_1_e :: Double -> Double -> (Double,Double)
 hydrogenicR_1_e zZ r = createSFR "hydrogenicR_1_e" $ gsl_sf_hydrogenicR_1_e zZ r
 foreign import ccall "gsl_sf_hydrogenicR_1_e" gsl_sf_hydrogenicR_1_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hydrogenicR_1(double Z,double r);
---
---   <http://www.google.com/search?q=gsl_sf_hydrogenicR_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hydrogenicR_1 :: Double -> Double -> Double
 hydrogenicR_1 = gsl_sf_hydrogenicR_1
 foreign import ccall "gsl_sf_hydrogenicR_1" gsl_sf_hydrogenicR_1 :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_hydrogenicR_e(int n,int l,double Z,double r,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hydrogenicR_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hydrogenicR_e :: CInt -> CInt -> Double -> Double -> (Double,Double)
 hydrogenicR_e n l zZ r = createSFR "hydrogenicR_e" $ gsl_sf_hydrogenicR_e n l zZ r
 foreign import ccall "gsl_sf_hydrogenicR_e" gsl_sf_hydrogenicR_e :: CInt -> CInt -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hydrogenicR(int n,int l,double Z,double r);
---
---   <http://www.google.com/search?q=gsl_sf_hydrogenicR&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hydrogenicR :: CInt -> CInt -> Double -> Double -> Double
 hydrogenicR = gsl_sf_hydrogenicR
 foreign import ccall "gsl_sf_hydrogenicR" gsl_sf_hydrogenicR :: CInt -> CInt -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_coulomb_wave_FG_e(double eta,double x,double lam_F,int k_lam_G,gsl_sf_result* F,gsl_sf_result* Fp,gsl_sf_result* G,gsl_sf_result* Gp,double* exp_F,double* exp_G);
---
---   <http://www.google.com/search?q=gsl_sf_coulomb_wave_FG_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coulomb_wave_FG_e :: Double -> Double -> Double -> CInt -> Ptr () -> Ptr () -> Ptr () -> Ptr () -> Ptr Double -> Ptr Double -> CInt
 coulomb_wave_FG_e = gsl_sf_coulomb_wave_FG_e
 foreign import ccall "gsl_sf_coulomb_wave_FG_e" gsl_sf_coulomb_wave_FG_e :: Double -> Double -> Double -> CInt -> Ptr () -> Ptr () -> Ptr () -> Ptr () -> Ptr Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_coulomb_wave_F_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent);
---
---   <http://www.google.com/search?q=gsl_sf_coulomb_wave_F_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coulomb_wave_F_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt
 coulomb_wave_F_array = gsl_sf_coulomb_wave_F_array
 foreign import ccall "gsl_sf_coulomb_wave_F_array" gsl_sf_coulomb_wave_F_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_coulomb_wave_FG_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* gc_array,double* F_exponent,double* G_exponent);
---
---   <http://www.google.com/search?q=gsl_sf_coulomb_wave_FG_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coulomb_wave_FG_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt
 coulomb_wave_FG_array = gsl_sf_coulomb_wave_FG_array
 foreign import ccall "gsl_sf_coulomb_wave_FG_array" gsl_sf_coulomb_wave_FG_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_coulomb_wave_FGp_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* fcp_array,double* gc_array,double* gcp_array,double* F_exponent,double* G_exponent);
---
---   <http://www.google.com/search?q=gsl_sf_coulomb_wave_FGp_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coulomb_wave_FGp_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt
 coulomb_wave_FGp_array = gsl_sf_coulomb_wave_FGp_array
 foreign import ccall "gsl_sf_coulomb_wave_FGp_array" gsl_sf_coulomb_wave_FGp_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_coulomb_wave_sphF_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent);
---
---   <http://www.google.com/search?q=gsl_sf_coulomb_wave_sphF_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coulomb_wave_sphF_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt
 coulomb_wave_sphF_array = gsl_sf_coulomb_wave_sphF_array
 foreign import ccall "gsl_sf_coulomb_wave_sphF_array" gsl_sf_coulomb_wave_sphF_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_coulomb_CL_e(double L,double eta,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_coulomb_CL_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coulomb_CL_e :: Double -> Double -> (Double,Double)
 coulomb_CL_e lL eta = createSFR "coulomb_CL_e" $ gsl_sf_coulomb_CL_e lL eta
 foreign import ccall "gsl_sf_coulomb_CL_e" gsl_sf_coulomb_CL_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_coulomb_CL_array(double Lmin,int kmax,double eta,double* cl);
---
---   <http://www.google.com/search?q=gsl_sf_coulomb_CL_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coulomb_CL_array :: Double -> CInt -> Double -> Ptr Double -> CInt
 coulomb_CL_array = gsl_sf_coulomb_CL_array
 foreign import ccall "gsl_sf_coulomb_CL_array" gsl_sf_coulomb_CL_array :: Double -> CInt -> Double -> Ptr Double -> CInt
diff --git a/lib/Numeric/GSL/Special/Coupling.hs b/lib/Numeric/GSL/Special/Coupling.hs
--- a/lib/Numeric/GSL/Special/Coupling.hs
+++ b/lib/Numeric/GSL/Special/Coupling.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Coupling
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_coupling.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Coupling
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_coupling.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Coupling(
@@ -28,73 +26,33 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_coupling_3j_e(int two_ja,int two_jb,int two_jc,int two_ma,int two_mb,int two_mc,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_3j_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_3j_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> (Double,Double)
 coupling_3j_e two_ja two_jb two_jc two_ma two_mb two_mc = createSFR "coupling_3j_e" $ gsl_sf_coupling_3j_e two_ja two_jb two_jc two_ma two_mb two_mc
 foreign import ccall "gsl_sf_coupling_3j_e" gsl_sf_coupling_3j_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_coupling_3j(int two_ja,int two_jb,int two_jc,int two_ma,int two_mb,int two_mc);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_3j&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_3j :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
 coupling_3j = gsl_sf_coupling_3j
 foreign import ccall "gsl_sf_coupling_3j" gsl_sf_coupling_3j :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
-
--- | wrapper for int gsl_sf_coupling_6j_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_6j_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_6j_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> (Double,Double)
 coupling_6j_e two_ja two_jb two_jc two_jd two_je two_jf = createSFR "coupling_6j_e" $ gsl_sf_coupling_6j_e two_ja two_jb two_jc two_jd two_je two_jf
 foreign import ccall "gsl_sf_coupling_6j_e" gsl_sf_coupling_6j_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_coupling_6j(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_6j&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_6j :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
 coupling_6j = gsl_sf_coupling_6j
 foreign import ccall "gsl_sf_coupling_6j" gsl_sf_coupling_6j :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
-
--- | wrapper for int gsl_sf_coupling_RacahW_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_RacahW_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_RacahW_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> (Double,Double)
 coupling_RacahW_e two_ja two_jb two_jc two_jd two_je two_jf = createSFR "coupling_RacahW_e" $ gsl_sf_coupling_RacahW_e two_ja two_jb two_jc two_jd two_je two_jf
 foreign import ccall "gsl_sf_coupling_RacahW_e" gsl_sf_coupling_RacahW_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_coupling_RacahW(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_RacahW&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_RacahW :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
 coupling_RacahW = gsl_sf_coupling_RacahW
 foreign import ccall "gsl_sf_coupling_RacahW" gsl_sf_coupling_RacahW :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
-
--- | wrapper for int gsl_sf_coupling_9j_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,int two_jg,int two_jh,int two_ji,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_9j_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_9j_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> (Double,Double)
 coupling_9j_e two_ja two_jb two_jc two_jd two_je two_jf two_jg two_jh two_ji = createSFR "coupling_9j_e" $ gsl_sf_coupling_9j_e two_ja two_jb two_jc two_jd two_je two_jf two_jg two_jh two_ji
 foreign import ccall "gsl_sf_coupling_9j_e" gsl_sf_coupling_9j_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_coupling_9j(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,int two_jg,int two_jh,int two_ji);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_9j&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_9j :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
 coupling_9j = gsl_sf_coupling_9j
 foreign import ccall "gsl_sf_coupling_9j" gsl_sf_coupling_9j :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
-
--- | wrapper for int gsl_sf_coupling_6j_INCORRECT_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_6j_INCORRECT_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_6j_INCORRECT_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> (Double,Double)
 coupling_6j_INCORRECT_e two_ja two_jb two_jc two_jd two_je two_jf = createSFR "coupling_6j_INCORRECT_e" $ gsl_sf_coupling_6j_INCORRECT_e two_ja two_jb two_jc two_jd two_je two_jf
 foreign import ccall "gsl_sf_coupling_6j_INCORRECT_e" gsl_sf_coupling_6j_INCORRECT_e :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_coupling_6j_INCORRECT(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);
---
---   <http://www.google.com/search?q=gsl_sf_coupling_6j_INCORRECT&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 coupling_6j_INCORRECT :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
 coupling_6j_INCORRECT = gsl_sf_coupling_6j_INCORRECT
 foreign import ccall "gsl_sf_coupling_6j_INCORRECT" gsl_sf_coupling_6j_INCORRECT :: CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Double
diff --git a/lib/Numeric/GSL/Special/Dawson.hs b/lib/Numeric/GSL/Special/Dawson.hs
--- a/lib/Numeric/GSL/Special/Dawson.hs
+++ b/lib/Numeric/GSL/Special/Dawson.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Dawson
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_dawson.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Dawson
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_dawson.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Dawson(
@@ -22,17 +20,9 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_dawson_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_dawson_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 dawson_e :: Double -> (Double,Double)
 dawson_e x = createSFR "dawson_e" $ gsl_sf_dawson_e x
 foreign import ccall "gsl_sf_dawson_e" gsl_sf_dawson_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_dawson(double x);
---
---   <http://www.google.com/search?q=gsl_sf_dawson&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 dawson :: Double -> Double
 dawson = gsl_sf_dawson
 foreign import ccall "gsl_sf_dawson" gsl_sf_dawson :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Debye.hs b/lib/Numeric/GSL/Special/Debye.hs
--- a/lib/Numeric/GSL/Special/Debye.hs
+++ b/lib/Numeric/GSL/Special/Debye.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Debye
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_debye.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Debye
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_debye.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Debye(
@@ -32,87 +30,39 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_debye_1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_debye_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_1_e :: Double -> (Double,Double)
 debye_1_e x = createSFR "debye_1_e" $ gsl_sf_debye_1_e x
 foreign import ccall "gsl_sf_debye_1_e" gsl_sf_debye_1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_debye_1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_debye_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_1 :: Double -> Double
 debye_1 = gsl_sf_debye_1
 foreign import ccall "gsl_sf_debye_1" gsl_sf_debye_1 :: Double -> Double
-
--- | wrapper for int gsl_sf_debye_2_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_debye_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_2_e :: Double -> (Double,Double)
 debye_2_e x = createSFR "debye_2_e" $ gsl_sf_debye_2_e x
 foreign import ccall "gsl_sf_debye_2_e" gsl_sf_debye_2_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_debye_2(double x);
---
---   <http://www.google.com/search?q=gsl_sf_debye_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_2 :: Double -> Double
 debye_2 = gsl_sf_debye_2
 foreign import ccall "gsl_sf_debye_2" gsl_sf_debye_2 :: Double -> Double
-
--- | wrapper for int gsl_sf_debye_3_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_debye_3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_3_e :: Double -> (Double,Double)
 debye_3_e x = createSFR "debye_3_e" $ gsl_sf_debye_3_e x
 foreign import ccall "gsl_sf_debye_3_e" gsl_sf_debye_3_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_debye_3(double x);
---
---   <http://www.google.com/search?q=gsl_sf_debye_3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_3 :: Double -> Double
 debye_3 = gsl_sf_debye_3
 foreign import ccall "gsl_sf_debye_3" gsl_sf_debye_3 :: Double -> Double
-
--- | wrapper for int gsl_sf_debye_4_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_debye_4_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_4_e :: Double -> (Double,Double)
 debye_4_e x = createSFR "debye_4_e" $ gsl_sf_debye_4_e x
 foreign import ccall "gsl_sf_debye_4_e" gsl_sf_debye_4_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_debye_4(double x);
---
---   <http://www.google.com/search?q=gsl_sf_debye_4&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_4 :: Double -> Double
 debye_4 = gsl_sf_debye_4
 foreign import ccall "gsl_sf_debye_4" gsl_sf_debye_4 :: Double -> Double
-
--- | wrapper for int gsl_sf_debye_5_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_debye_5_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_5_e :: Double -> (Double,Double)
 debye_5_e x = createSFR "debye_5_e" $ gsl_sf_debye_5_e x
 foreign import ccall "gsl_sf_debye_5_e" gsl_sf_debye_5_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_debye_5(double x);
---
---   <http://www.google.com/search?q=gsl_sf_debye_5&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_5 :: Double -> Double
 debye_5 = gsl_sf_debye_5
 foreign import ccall "gsl_sf_debye_5" gsl_sf_debye_5 :: Double -> Double
-
--- | wrapper for int gsl_sf_debye_6_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_debye_6_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_6_e :: Double -> (Double,Double)
 debye_6_e x = createSFR "debye_6_e" $ gsl_sf_debye_6_e x
 foreign import ccall "gsl_sf_debye_6_e" gsl_sf_debye_6_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_debye_6(double x);
---
---   <http://www.google.com/search?q=gsl_sf_debye_6&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 debye_6 :: Double -> Double
 debye_6 = gsl_sf_debye_6
 foreign import ccall "gsl_sf_debye_6" gsl_sf_debye_6 :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Dilog.hs b/lib/Numeric/GSL/Special/Dilog.hs
--- a/lib/Numeric/GSL/Special/Dilog.hs
+++ b/lib/Numeric/GSL/Special/Dilog.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Dilog
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_dilog.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Dilog
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_dilog.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Dilog(
@@ -22,38 +20,18 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_dilog_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_dilog_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 dilog_e :: Double -> (Double,Double)
 dilog_e x = createSFR "dilog_e" $ gsl_sf_dilog_e x
 foreign import ccall "gsl_sf_dilog_e" gsl_sf_dilog_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_dilog(double x);
---
---   <http://www.google.com/search?q=gsl_sf_dilog&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 dilog :: Double -> Double
 dilog = gsl_sf_dilog
 foreign import ccall "gsl_sf_dilog" gsl_sf_dilog :: Double -> Double
-
--- | wrapper for int gsl_sf_complex_dilog_xy_e(double x,double y,gsl_sf_result* result_re,gsl_sf_result* result_im);
---
---   <http://www.google.com/search?q=gsl_sf_complex_dilog_xy_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 complex_dilog_xy_e :: Double -> Double -> Ptr () -> (Double,Double)
 complex_dilog_xy_e x y result_re = createSFR "complex_dilog_xy_e" $ gsl_sf_complex_dilog_xy_e x y result_re
 foreign import ccall "gsl_sf_complex_dilog_xy_e" gsl_sf_complex_dilog_xy_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_complex_dilog_e(double r,double theta,gsl_sf_result* result_re,gsl_sf_result* result_im);
---
---   <http://www.google.com/search?q=gsl_sf_complex_dilog_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 complex_dilog_e :: Double -> Double -> Ptr () -> (Double,Double)
 complex_dilog_e r theta result_re = createSFR "complex_dilog_e" $ gsl_sf_complex_dilog_e r theta result_re
 foreign import ccall "gsl_sf_complex_dilog_e" gsl_sf_complex_dilog_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_complex_spence_xy_e(double x,double y,gsl_sf_result* real_sp,gsl_sf_result* imag_sp);
---
---   <http://www.google.com/search?q=gsl_sf_complex_spence_xy_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 complex_spence_xy_e :: Double -> Double -> Ptr () -> (Double,Double)
 complex_spence_xy_e x y real_sp = createSFR "complex_spence_xy_e" $ gsl_sf_complex_spence_xy_e x y real_sp
 foreign import ccall "gsl_sf_complex_spence_xy_e" gsl_sf_complex_spence_xy_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
diff --git a/lib/Numeric/GSL/Special/Elementary.hs b/lib/Numeric/GSL/Special/Elementary.hs
--- a/lib/Numeric/GSL/Special/Elementary.hs
+++ b/lib/Numeric/GSL/Special/Elementary.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Elementary
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_elementary.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Elementary
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_elementary.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Elementary(
@@ -23,24 +21,12 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_multiply_e(double x,double y,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_multiply_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 multiply_e :: Double -> Double -> (Double,Double)
 multiply_e x y = createSFR "multiply_e" $ gsl_sf_multiply_e x y
 foreign import ccall "gsl_sf_multiply_e" gsl_sf_multiply_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_multiply(double x,double y);
---
---   <http://www.google.com/search?q=gsl_sf_multiply&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 multiply :: Double -> Double -> Double
 multiply = gsl_sf_multiply
 foreign import ccall "gsl_sf_multiply" gsl_sf_multiply :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_multiply_err_e(double x,double dx,double y,double dy,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_multiply_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 multiply_err_e :: Double -> Double -> Double -> Double -> (Double,Double)
 multiply_err_e x dx y dy = createSFR "multiply_err_e" $ gsl_sf_multiply_err_e x dx y dy
 foreign import ccall "gsl_sf_multiply_err_e" gsl_sf_multiply_err_e :: Double -> Double -> Double -> Double -> Ptr () -> IO CInt
diff --git a/lib/Numeric/GSL/Special/Ellint.hs b/lib/Numeric/GSL/Special/Ellint.hs
--- a/lib/Numeric/GSL/Special/Ellint.hs
+++ b/lib/Numeric/GSL/Special/Ellint.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Ellint
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_ellint.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Ellint
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_ellint.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Ellint(
@@ -44,171 +42,75 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_ellint_Kcomp_e(double k,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_Kcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_Kcomp_e :: Double -> Precision -> (Double,Double)
 ellint_Kcomp_e k mode = createSFR "ellint_Kcomp_e" $ gsl_sf_ellint_Kcomp_e k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_Kcomp_e" gsl_sf_ellint_Kcomp_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_Kcomp(double k,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_Kcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_Kcomp :: Double -> Precision -> Double
 ellint_Kcomp k mode = gsl_sf_ellint_Kcomp k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_Kcomp" gsl_sf_ellint_Kcomp :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_Ecomp_e(double k,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_Ecomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_Ecomp_e :: Double -> Precision -> (Double,Double)
 ellint_Ecomp_e k mode = createSFR "ellint_Ecomp_e" $ gsl_sf_ellint_Ecomp_e k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_Ecomp_e" gsl_sf_ellint_Ecomp_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_Ecomp(double k,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_Ecomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_Ecomp :: Double -> Precision -> Double
 ellint_Ecomp k mode = gsl_sf_ellint_Ecomp k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_Ecomp" gsl_sf_ellint_Ecomp :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_Pcomp_e(double k,double n,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_Pcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_Pcomp_e :: Double -> Double -> Precision -> (Double,Double)
 ellint_Pcomp_e k n mode = createSFR "ellint_Pcomp_e" $ gsl_sf_ellint_Pcomp_e k n  (precCode mode)
 foreign import ccall "gsl_sf_ellint_Pcomp_e" gsl_sf_ellint_Pcomp_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_Pcomp(double k,double n,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_Pcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_Pcomp :: Double -> Double -> Precision -> Double
 ellint_Pcomp k n mode = gsl_sf_ellint_Pcomp k n  (precCode mode)
 foreign import ccall "gsl_sf_ellint_Pcomp" gsl_sf_ellint_Pcomp :: Double -> Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_Dcomp_e(double k,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_Dcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_Dcomp_e :: Double -> Precision -> (Double,Double)
 ellint_Dcomp_e k mode = createSFR "ellint_Dcomp_e" $ gsl_sf_ellint_Dcomp_e k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_Dcomp_e" gsl_sf_ellint_Dcomp_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_Dcomp(double k,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_Dcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_Dcomp :: Double -> Precision -> Double
 ellint_Dcomp k mode = gsl_sf_ellint_Dcomp k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_Dcomp" gsl_sf_ellint_Dcomp :: Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_F_e(double phi,double k,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_F_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_F_e :: Double -> Double -> Precision -> (Double,Double)
 ellint_F_e phi k mode = createSFR "ellint_F_e" $ gsl_sf_ellint_F_e phi k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_F_e" gsl_sf_ellint_F_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_F(double phi,double k,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_F&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_F :: Double -> Double -> Precision -> Double
 ellint_F phi k mode = gsl_sf_ellint_F phi k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_F" gsl_sf_ellint_F :: Double -> Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_E_e(double phi,double k,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_E_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_E_e :: Double -> Double -> Precision -> (Double,Double)
 ellint_E_e phi k mode = createSFR "ellint_E_e" $ gsl_sf_ellint_E_e phi k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_E_e" gsl_sf_ellint_E_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_E(double phi,double k,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_E&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_E :: Double -> Double -> Precision -> Double
 ellint_E phi k mode = gsl_sf_ellint_E phi k  (precCode mode)
 foreign import ccall "gsl_sf_ellint_E" gsl_sf_ellint_E :: Double -> Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_P_e(double phi,double k,double n,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_P_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_P_e :: Double -> Double -> Double -> Precision -> (Double,Double)
 ellint_P_e phi k n mode = createSFR "ellint_P_e" $ gsl_sf_ellint_P_e phi k n  (precCode mode)
 foreign import ccall "gsl_sf_ellint_P_e" gsl_sf_ellint_P_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_P(double phi,double k,double n,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_P&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_P :: Double -> Double -> Double -> Precision -> Double
 ellint_P phi k n mode = gsl_sf_ellint_P phi k n  (precCode mode)
 foreign import ccall "gsl_sf_ellint_P" gsl_sf_ellint_P :: Double -> Double -> Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_D_e(double phi,double k,double n,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_D_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_D_e :: Double -> Double -> Double -> Precision -> (Double,Double)
 ellint_D_e phi k n mode = createSFR "ellint_D_e" $ gsl_sf_ellint_D_e phi k n  (precCode mode)
 foreign import ccall "gsl_sf_ellint_D_e" gsl_sf_ellint_D_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_D(double phi,double k,double n,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_D&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_D :: Double -> Double -> Double -> Precision -> Double
 ellint_D phi k n mode = gsl_sf_ellint_D phi k n  (precCode mode)
 foreign import ccall "gsl_sf_ellint_D" gsl_sf_ellint_D :: Double -> Double -> Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_RC_e(double x,double y,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_RC_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_RC_e :: Double -> Double -> Precision -> (Double,Double)
 ellint_RC_e x y mode = createSFR "ellint_RC_e" $ gsl_sf_ellint_RC_e x y  (precCode mode)
 foreign import ccall "gsl_sf_ellint_RC_e" gsl_sf_ellint_RC_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_RC(double x,double y,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_RC&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_RC :: Double -> Double -> Precision -> Double
 ellint_RC x y mode = gsl_sf_ellint_RC x y  (precCode mode)
 foreign import ccall "gsl_sf_ellint_RC" gsl_sf_ellint_RC :: Double -> Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_RD_e(double x,double y,double z,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_RD_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_RD_e :: Double -> Double -> Double -> Precision -> (Double,Double)
 ellint_RD_e x y z mode = createSFR "ellint_RD_e" $ gsl_sf_ellint_RD_e x y z  (precCode mode)
 foreign import ccall "gsl_sf_ellint_RD_e" gsl_sf_ellint_RD_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_RD(double x,double y,double z,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_RD&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_RD :: Double -> Double -> Double -> Precision -> Double
 ellint_RD x y z mode = gsl_sf_ellint_RD x y z  (precCode mode)
 foreign import ccall "gsl_sf_ellint_RD" gsl_sf_ellint_RD :: Double -> Double -> Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_RF_e(double x,double y,double z,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_RF_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_RF_e :: Double -> Double -> Double -> Precision -> (Double,Double)
 ellint_RF_e x y z mode = createSFR "ellint_RF_e" $ gsl_sf_ellint_RF_e x y z  (precCode mode)
 foreign import ccall "gsl_sf_ellint_RF_e" gsl_sf_ellint_RF_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_RF(double x,double y,double z,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_RF&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_RF :: Double -> Double -> Double -> Precision -> Double
 ellint_RF x y z mode = gsl_sf_ellint_RF x y z  (precCode mode)
 foreign import ccall "gsl_sf_ellint_RF" gsl_sf_ellint_RF :: Double -> Double -> Double -> Gsl_mode_t -> Double
-
--- | wrapper for int gsl_sf_ellint_RJ_e(double x,double y,double z,double p,gsl_mode_t mode,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_RJ_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_RJ_e :: Double -> Double -> Double -> Double -> Precision -> (Double,Double)
 ellint_RJ_e x y z p mode = createSFR "ellint_RJ_e" $ gsl_sf_ellint_RJ_e x y z p  (precCode mode)
 foreign import ccall "gsl_sf_ellint_RJ_e" gsl_sf_ellint_RJ_e :: Double -> Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_ellint_RJ(double x,double y,double z,double p,gsl_mode_t mode);
---
---   <http://www.google.com/search?q=gsl_sf_ellint_RJ&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ellint_RJ :: Double -> Double -> Double -> Double -> Precision -> Double
 ellint_RJ x y z p mode = gsl_sf_ellint_RJ x y z p  (precCode mode)
 foreign import ccall "gsl_sf_ellint_RJ" gsl_sf_ellint_RJ :: Double -> Double -> Double -> Double -> Gsl_mode_t -> Double
diff --git a/lib/Numeric/GSL/Special/Elljac.hs b/lib/Numeric/GSL/Special/Elljac.hs
new file mode 100644
--- /dev/null
+++ b/lib/Numeric/GSL/Special/Elljac.hs
@@ -0,0 +1,38 @@
+------------------------------------------------------------
+-- |
+-- Module      :  Numeric.GSL.Special.Elljac
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_elljac.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
+------------------------------------------------------------
+
+module Numeric.GSL.Special.Elljac(
+elljac_e
+) where
+
+import Foreign
+import Foreign.C.Types(CInt)
+
+elljac_e :: Double -> Double -> (Double,Double,Double)
+elljac_e u m = unsafePerformIO $ do
+    psn <- malloc
+    pcn <- malloc
+    pdn <- malloc
+    res <- gsl_sf_elljac_e u m psn pcn pdn
+    sn <- peek psn
+    cn <- peek pcn
+    dn <- peek pdn
+    free psn
+    free pcn
+    free pdn
+    if res == 0 then return (sn,cn,dn)
+                else error $ "error code "++show res++
+                             " in elljac_e "++show u++" "++show m
+
+foreign import ccall "gsl_sf_elljac_e" gsl_sf_elljac_e :: Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> IO CInt
diff --git a/lib/Numeric/GSL/Special/Erf.hs b/lib/Numeric/GSL/Special/Erf.hs
--- a/lib/Numeric/GSL/Special/Erf.hs
+++ b/lib/Numeric/GSL/Special/Erf.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Erf
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_erf.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Erf
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_erf.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Erf(
@@ -32,87 +30,39 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_erfc_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_erfc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 erfc_e :: Double -> (Double,Double)
 erfc_e x = createSFR "erfc_e" $ gsl_sf_erfc_e x
 foreign import ccall "gsl_sf_erfc_e" gsl_sf_erfc_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_erfc(double x);
---
---   <http://www.google.com/search?q=gsl_sf_erfc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 erfc :: Double -> Double
 erfc = gsl_sf_erfc
 foreign import ccall "gsl_sf_erfc" gsl_sf_erfc :: Double -> Double
-
--- | wrapper for int gsl_sf_log_erfc_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_log_erfc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log_erfc_e :: Double -> (Double,Double)
 log_erfc_e x = createSFR "log_erfc_e" $ gsl_sf_log_erfc_e x
 foreign import ccall "gsl_sf_log_erfc_e" gsl_sf_log_erfc_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_log_erfc(double x);
---
---   <http://www.google.com/search?q=gsl_sf_log_erfc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log_erfc :: Double -> Double
 log_erfc = gsl_sf_log_erfc
 foreign import ccall "gsl_sf_log_erfc" gsl_sf_log_erfc :: Double -> Double
-
--- | wrapper for int gsl_sf_erf_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_erf_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 erf_e :: Double -> (Double,Double)
 erf_e x = createSFR "erf_e" $ gsl_sf_erf_e x
 foreign import ccall "gsl_sf_erf_e" gsl_sf_erf_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_erf(double x);
---
---   <http://www.google.com/search?q=gsl_sf_erf&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 erf :: Double -> Double
 erf = gsl_sf_erf
 foreign import ccall "gsl_sf_erf" gsl_sf_erf :: Double -> Double
-
--- | wrapper for int gsl_sf_erf_Z_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_erf_Z_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 erf_Z_e :: Double -> (Double,Double)
 erf_Z_e x = createSFR "erf_Z_e" $ gsl_sf_erf_Z_e x
 foreign import ccall "gsl_sf_erf_Z_e" gsl_sf_erf_Z_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_erf_Q_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_erf_Q_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 erf_Q_e :: Double -> (Double,Double)
 erf_Q_e x = createSFR "erf_Q_e" $ gsl_sf_erf_Q_e x
 foreign import ccall "gsl_sf_erf_Q_e" gsl_sf_erf_Q_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_erf_Z(double x);
---
---   <http://www.google.com/search?q=gsl_sf_erf_Z&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 erf_Z :: Double -> Double
 erf_Z = gsl_sf_erf_Z
 foreign import ccall "gsl_sf_erf_Z" gsl_sf_erf_Z :: Double -> Double
-
--- | wrapper for double gsl_sf_erf_Q(double x);
---
---   <http://www.google.com/search?q=gsl_sf_erf_Q&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 erf_Q :: Double -> Double
 erf_Q = gsl_sf_erf_Q
 foreign import ccall "gsl_sf_erf_Q" gsl_sf_erf_Q :: Double -> Double
-
--- | wrapper for int gsl_sf_hazard_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hazard_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hazard_e :: Double -> (Double,Double)
 hazard_e x = createSFR "hazard_e" $ gsl_sf_hazard_e x
 foreign import ccall "gsl_sf_hazard_e" gsl_sf_hazard_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hazard(double x);
---
---   <http://www.google.com/search?q=gsl_sf_hazard&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hazard :: Double -> Double
 hazard = gsl_sf_hazard
 foreign import ccall "gsl_sf_hazard" gsl_sf_hazard :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Exp.hs b/lib/Numeric/GSL/Special/Exp.hs
--- a/lib/Numeric/GSL/Special/Exp.hs
+++ b/lib/Numeric/GSL/Special/Exp.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Exp
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_exp.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Exp
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_exp.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Exp(
@@ -39,136 +37,60 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_exp_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_exp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp_e :: Double -> (Double,Double)
 exp_e x = createSFR "exp_e" $ gsl_sf_exp_e x
 foreign import ccall "gsl_sf_exp_e" gsl_sf_exp_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_exp(double x);
---
---   <http://www.google.com/search?q=gsl_sf_exp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp :: Double -> Double
 exp = gsl_sf_exp
 foreign import ccall "gsl_sf_exp" gsl_sf_exp :: Double -> Double
-
--- | wrapper for int gsl_sf_exp_e10_e(double x,gsl_sf_result_e10* result);
---
---   <http://www.google.com/search?q=gsl_sf_exp_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp_e10_e :: Double -> (Double,Int,Double)
 exp_e10_e x = createSFR_E10 "exp_e10_e" $ gsl_sf_exp_e10_e x
 foreign import ccall "gsl_sf_exp_e10_e" gsl_sf_exp_e10_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_exp_mult_e(double x,double y,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_exp_mult_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp_mult_e :: Double -> Double -> (Double,Double)
 exp_mult_e x y = createSFR "exp_mult_e" $ gsl_sf_exp_mult_e x y
 foreign import ccall "gsl_sf_exp_mult_e" gsl_sf_exp_mult_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_exp_mult(double x,double y);
---
---   <http://www.google.com/search?q=gsl_sf_exp_mult&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp_mult :: Double -> Double -> Double
 exp_mult = gsl_sf_exp_mult
 foreign import ccall "gsl_sf_exp_mult" gsl_sf_exp_mult :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_exp_mult_e10_e(double x,double y,gsl_sf_result_e10* result);
---
---   <http://www.google.com/search?q=gsl_sf_exp_mult_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp_mult_e10_e :: Double -> Double -> (Double,Int,Double)
 exp_mult_e10_e x y = createSFR_E10 "exp_mult_e10_e" $ gsl_sf_exp_mult_e10_e x y
 foreign import ccall "gsl_sf_exp_mult_e10_e" gsl_sf_exp_mult_e10_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_expm1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expm1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expm1_e :: Double -> (Double,Double)
 expm1_e x = createSFR "expm1_e" $ gsl_sf_expm1_e x
 foreign import ccall "gsl_sf_expm1_e" gsl_sf_expm1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expm1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_expm1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expm1 :: Double -> Double
 expm1 = gsl_sf_expm1
 foreign import ccall "gsl_sf_expm1" gsl_sf_expm1 :: Double -> Double
-
--- | wrapper for int gsl_sf_exprel_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_exprel_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exprel_e :: Double -> (Double,Double)
 exprel_e x = createSFR "exprel_e" $ gsl_sf_exprel_e x
 foreign import ccall "gsl_sf_exprel_e" gsl_sf_exprel_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_exprel(double x);
---
---   <http://www.google.com/search?q=gsl_sf_exprel&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exprel :: Double -> Double
 exprel = gsl_sf_exprel
 foreign import ccall "gsl_sf_exprel" gsl_sf_exprel :: Double -> Double
-
--- | wrapper for int gsl_sf_exprel_2_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_exprel_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exprel_2_e :: Double -> (Double,Double)
 exprel_2_e x = createSFR "exprel_2_e" $ gsl_sf_exprel_2_e x
 foreign import ccall "gsl_sf_exprel_2_e" gsl_sf_exprel_2_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_exprel_2(double x);
---
---   <http://www.google.com/search?q=gsl_sf_exprel_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exprel_2 :: Double -> Double
 exprel_2 = gsl_sf_exprel_2
 foreign import ccall "gsl_sf_exprel_2" gsl_sf_exprel_2 :: Double -> Double
-
--- | wrapper for int gsl_sf_exprel_n_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_exprel_n_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exprel_n_e :: CInt -> Double -> (Double,Double)
 exprel_n_e n x = createSFR "exprel_n_e" $ gsl_sf_exprel_n_e n x
 foreign import ccall "gsl_sf_exprel_n_e" gsl_sf_exprel_n_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_exprel_n(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_exprel_n&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exprel_n :: CInt -> Double -> Double
 exprel_n = gsl_sf_exprel_n
 foreign import ccall "gsl_sf_exprel_n" gsl_sf_exprel_n :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_exprel_n_CF_e(double n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_exprel_n_CF_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exprel_n_CF_e :: Double -> Double -> (Double,Double)
 exprel_n_CF_e n x = createSFR "exprel_n_CF_e" $ gsl_sf_exprel_n_CF_e n x
 foreign import ccall "gsl_sf_exprel_n_CF_e" gsl_sf_exprel_n_CF_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_exp_err_e(double x,double dx,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_exp_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp_err_e :: Double -> Double -> (Double,Double)
 exp_err_e x dx = createSFR "exp_err_e" $ gsl_sf_exp_err_e x dx
 foreign import ccall "gsl_sf_exp_err_e" gsl_sf_exp_err_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_exp_err_e10_e(double x,double dx,gsl_sf_result_e10* result);
---
---   <http://www.google.com/search?q=gsl_sf_exp_err_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp_err_e10_e :: Double -> Double -> (Double,Int,Double)
 exp_err_e10_e x dx = createSFR_E10 "exp_err_e10_e" $ gsl_sf_exp_err_e10_e x dx
 foreign import ccall "gsl_sf_exp_err_e10_e" gsl_sf_exp_err_e10_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_exp_mult_err_e(double x,double dx,double y,double dy,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_exp_mult_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp_mult_err_e :: Double -> Double -> Double -> Double -> (Double,Double)
 exp_mult_err_e x dx y dy = createSFR "exp_mult_err_e" $ gsl_sf_exp_mult_err_e x dx y dy
 foreign import ccall "gsl_sf_exp_mult_err_e" gsl_sf_exp_mult_err_e :: Double -> Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_exp_mult_err_e10_e(double x,double dx,double y,double dy,gsl_sf_result_e10* result);
---
---   <http://www.google.com/search?q=gsl_sf_exp_mult_err_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 exp_mult_err_e10_e :: Double -> Double -> Double -> Double -> (Double,Int,Double)
 exp_mult_err_e10_e x dx y dy = createSFR_E10 "exp_mult_err_e10_e" $ gsl_sf_exp_mult_err_e10_e x dx y dy
 foreign import ccall "gsl_sf_exp_mult_err_e10_e" gsl_sf_exp_mult_err_e10_e :: Double -> Double -> Double -> Double -> Ptr () -> IO CInt
diff --git a/lib/Numeric/GSL/Special/Expint.hs b/lib/Numeric/GSL/Special/Expint.hs
--- a/lib/Numeric/GSL/Special/Expint.hs
+++ b/lib/Numeric/GSL/Special/Expint.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Expint
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_expint.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Expint
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_expint.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Expint(
@@ -48,199 +46,87 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_expint_E1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expint_E1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_E1_e :: Double -> (Double,Double)
 expint_E1_e x = createSFR "expint_E1_e" $ gsl_sf_expint_E1_e x
 foreign import ccall "gsl_sf_expint_E1_e" gsl_sf_expint_E1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expint_E1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_expint_E1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_E1 :: Double -> Double
 expint_E1 = gsl_sf_expint_E1
 foreign import ccall "gsl_sf_expint_E1" gsl_sf_expint_E1 :: Double -> Double
-
--- | wrapper for int gsl_sf_expint_E2_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expint_E2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_E2_e :: Double -> (Double,Double)
 expint_E2_e x = createSFR "expint_E2_e" $ gsl_sf_expint_E2_e x
 foreign import ccall "gsl_sf_expint_E2_e" gsl_sf_expint_E2_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expint_E2(double x);
---
---   <http://www.google.com/search?q=gsl_sf_expint_E2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_E2 :: Double -> Double
 expint_E2 = gsl_sf_expint_E2
 foreign import ccall "gsl_sf_expint_E2" gsl_sf_expint_E2 :: Double -> Double
-
--- | wrapper for int gsl_sf_expint_En_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expint_En_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_En_e :: CInt -> Double -> (Double,Double)
 expint_En_e n x = createSFR "expint_En_e" $ gsl_sf_expint_En_e n x
 foreign import ccall "gsl_sf_expint_En_e" gsl_sf_expint_En_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expint_En(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_expint_En&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_En :: CInt -> Double -> Double
 expint_En = gsl_sf_expint_En
 foreign import ccall "gsl_sf_expint_En" gsl_sf_expint_En :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_expint_E1_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expint_E1_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_E1_scaled_e :: Double -> (Double,Double)
 expint_E1_scaled_e x = createSFR "expint_E1_scaled_e" $ gsl_sf_expint_E1_scaled_e x
 foreign import ccall "gsl_sf_expint_E1_scaled_e" gsl_sf_expint_E1_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expint_E1_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_expint_E1_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_E1_scaled :: Double -> Double
 expint_E1_scaled = gsl_sf_expint_E1_scaled
 foreign import ccall "gsl_sf_expint_E1_scaled" gsl_sf_expint_E1_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_expint_E2_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expint_E2_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_E2_scaled_e :: Double -> (Double,Double)
 expint_E2_scaled_e x = createSFR "expint_E2_scaled_e" $ gsl_sf_expint_E2_scaled_e x
 foreign import ccall "gsl_sf_expint_E2_scaled_e" gsl_sf_expint_E2_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expint_E2_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_expint_E2_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_E2_scaled :: Double -> Double
 expint_E2_scaled = gsl_sf_expint_E2_scaled
 foreign import ccall "gsl_sf_expint_E2_scaled" gsl_sf_expint_E2_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_expint_En_scaled_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expint_En_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_En_scaled_e :: CInt -> Double -> (Double,Double)
 expint_En_scaled_e n x = createSFR "expint_En_scaled_e" $ gsl_sf_expint_En_scaled_e n x
 foreign import ccall "gsl_sf_expint_En_scaled_e" gsl_sf_expint_En_scaled_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expint_En_scaled(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_expint_En_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_En_scaled :: CInt -> Double -> Double
 expint_En_scaled = gsl_sf_expint_En_scaled
 foreign import ccall "gsl_sf_expint_En_scaled" gsl_sf_expint_En_scaled :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_expint_Ei_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expint_Ei_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_Ei_e :: Double -> (Double,Double)
 expint_Ei_e x = createSFR "expint_Ei_e" $ gsl_sf_expint_Ei_e x
 foreign import ccall "gsl_sf_expint_Ei_e" gsl_sf_expint_Ei_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expint_Ei(double x);
---
---   <http://www.google.com/search?q=gsl_sf_expint_Ei&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_Ei :: Double -> Double
 expint_Ei = gsl_sf_expint_Ei
 foreign import ccall "gsl_sf_expint_Ei" gsl_sf_expint_Ei :: Double -> Double
-
--- | wrapper for int gsl_sf_expint_Ei_scaled_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expint_Ei_scaled_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_Ei_scaled_e :: Double -> (Double,Double)
 expint_Ei_scaled_e x = createSFR "expint_Ei_scaled_e" $ gsl_sf_expint_Ei_scaled_e x
 foreign import ccall "gsl_sf_expint_Ei_scaled_e" gsl_sf_expint_Ei_scaled_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expint_Ei_scaled(double x);
---
---   <http://www.google.com/search?q=gsl_sf_expint_Ei_scaled&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_Ei_scaled :: Double -> Double
 expint_Ei_scaled = gsl_sf_expint_Ei_scaled
 foreign import ccall "gsl_sf_expint_Ei_scaled" gsl_sf_expint_Ei_scaled :: Double -> Double
-
--- | wrapper for int gsl_sf_Shi_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_Shi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 shi_e :: Double -> (Double,Double)
 shi_e x = createSFR "shi_e" $ gsl_sf_Shi_e x
 foreign import ccall "gsl_sf_Shi_e" gsl_sf_Shi_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_Shi(double x);
---
---   <http://www.google.com/search?q=gsl_sf_Shi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 shi :: Double -> Double
 shi = gsl_sf_Shi
 foreign import ccall "gsl_sf_Shi" gsl_sf_Shi :: Double -> Double
-
--- | wrapper for int gsl_sf_Chi_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_Chi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 chi_e :: Double -> (Double,Double)
 chi_e x = createSFR "chi_e" $ gsl_sf_Chi_e x
 foreign import ccall "gsl_sf_Chi_e" gsl_sf_Chi_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_Chi(double x);
---
---   <http://www.google.com/search?q=gsl_sf_Chi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 chi :: Double -> Double
 chi = gsl_sf_Chi
 foreign import ccall "gsl_sf_Chi" gsl_sf_Chi :: Double -> Double
-
--- | wrapper for int gsl_sf_expint_3_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_expint_3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_3_e :: Double -> (Double,Double)
 expint_3_e x = createSFR "expint_3_e" $ gsl_sf_expint_3_e x
 foreign import ccall "gsl_sf_expint_3_e" gsl_sf_expint_3_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_expint_3(double x);
---
---   <http://www.google.com/search?q=gsl_sf_expint_3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 expint_3 :: Double -> Double
 expint_3 = gsl_sf_expint_3
 foreign import ccall "gsl_sf_expint_3" gsl_sf_expint_3 :: Double -> Double
-
--- | wrapper for int gsl_sf_Si_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_Si_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 si_e :: Double -> (Double,Double)
 si_e x = createSFR "si_e" $ gsl_sf_Si_e x
 foreign import ccall "gsl_sf_Si_e" gsl_sf_Si_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_Si(double x);
---
---   <http://www.google.com/search?q=gsl_sf_Si&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 si :: Double -> Double
 si = gsl_sf_Si
 foreign import ccall "gsl_sf_Si" gsl_sf_Si :: Double -> Double
-
--- | wrapper for int gsl_sf_Ci_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_Ci_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ci_e :: Double -> (Double,Double)
 ci_e x = createSFR "ci_e" $ gsl_sf_Ci_e x
 foreign import ccall "gsl_sf_Ci_e" gsl_sf_Ci_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_Ci(double x);
---
---   <http://www.google.com/search?q=gsl_sf_Ci&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ci :: Double -> Double
 ci = gsl_sf_Ci
 foreign import ccall "gsl_sf_Ci" gsl_sf_Ci :: Double -> Double
-
--- | wrapper for int gsl_sf_atanint_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_atanint_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 atanint_e :: Double -> (Double,Double)
 atanint_e x = createSFR "atanint_e" $ gsl_sf_atanint_e x
 foreign import ccall "gsl_sf_atanint_e" gsl_sf_atanint_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_atanint(double x);
---
---   <http://www.google.com/search?q=gsl_sf_atanint&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 atanint :: Double -> Double
 atanint = gsl_sf_atanint
 foreign import ccall "gsl_sf_atanint" gsl_sf_atanint :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Fermi_dirac.hs b/lib/Numeric/GSL/Special/Fermi_dirac.hs
--- a/lib/Numeric/GSL/Special/Fermi_dirac.hs
+++ b/lib/Numeric/GSL/Special/Fermi_dirac.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Fermi_dirac
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_fermi_dirac.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Fermi_dirac
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_fermi_dirac.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Fermi_dirac(
@@ -38,129 +36,57 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_fermi_dirac_m1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_m1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_m1_e :: Double -> (Double,Double)
 fermi_dirac_m1_e x = createSFR "fermi_dirac_m1_e" $ gsl_sf_fermi_dirac_m1_e x
 foreign import ccall "gsl_sf_fermi_dirac_m1_e" gsl_sf_fermi_dirac_m1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fermi_dirac_m1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_m1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_m1 :: Double -> Double
 fermi_dirac_m1 = gsl_sf_fermi_dirac_m1
 foreign import ccall "gsl_sf_fermi_dirac_m1" gsl_sf_fermi_dirac_m1 :: Double -> Double
-
--- | wrapper for int gsl_sf_fermi_dirac_0_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_0_e :: Double -> (Double,Double)
 fermi_dirac_0_e x = createSFR "fermi_dirac_0_e" $ gsl_sf_fermi_dirac_0_e x
 foreign import ccall "gsl_sf_fermi_dirac_0_e" gsl_sf_fermi_dirac_0_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fermi_dirac_0(double x);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_0 :: Double -> Double
 fermi_dirac_0 = gsl_sf_fermi_dirac_0
 foreign import ccall "gsl_sf_fermi_dirac_0" gsl_sf_fermi_dirac_0 :: Double -> Double
-
--- | wrapper for int gsl_sf_fermi_dirac_1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_1_e :: Double -> (Double,Double)
 fermi_dirac_1_e x = createSFR "fermi_dirac_1_e" $ gsl_sf_fermi_dirac_1_e x
 foreign import ccall "gsl_sf_fermi_dirac_1_e" gsl_sf_fermi_dirac_1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fermi_dirac_1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_1 :: Double -> Double
 fermi_dirac_1 = gsl_sf_fermi_dirac_1
 foreign import ccall "gsl_sf_fermi_dirac_1" gsl_sf_fermi_dirac_1 :: Double -> Double
-
--- | wrapper for int gsl_sf_fermi_dirac_2_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_2_e :: Double -> (Double,Double)
 fermi_dirac_2_e x = createSFR "fermi_dirac_2_e" $ gsl_sf_fermi_dirac_2_e x
 foreign import ccall "gsl_sf_fermi_dirac_2_e" gsl_sf_fermi_dirac_2_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fermi_dirac_2(double x);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_2 :: Double -> Double
 fermi_dirac_2 = gsl_sf_fermi_dirac_2
 foreign import ccall "gsl_sf_fermi_dirac_2" gsl_sf_fermi_dirac_2 :: Double -> Double
-
--- | wrapper for int gsl_sf_fermi_dirac_int_e(int j,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_int_e :: CInt -> Double -> (Double,Double)
 fermi_dirac_int_e j x = createSFR "fermi_dirac_int_e" $ gsl_sf_fermi_dirac_int_e j x
 foreign import ccall "gsl_sf_fermi_dirac_int_e" gsl_sf_fermi_dirac_int_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fermi_dirac_int(int j,double x);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_int :: CInt -> Double -> Double
 fermi_dirac_int = gsl_sf_fermi_dirac_int
 foreign import ccall "gsl_sf_fermi_dirac_int" gsl_sf_fermi_dirac_int :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_fermi_dirac_mhalf_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_mhalf_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_mhalf_e :: Double -> (Double,Double)
 fermi_dirac_mhalf_e x = createSFR "fermi_dirac_mhalf_e" $ gsl_sf_fermi_dirac_mhalf_e x
 foreign import ccall "gsl_sf_fermi_dirac_mhalf_e" gsl_sf_fermi_dirac_mhalf_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fermi_dirac_mhalf(double x);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_mhalf&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_mhalf :: Double -> Double
 fermi_dirac_mhalf = gsl_sf_fermi_dirac_mhalf
 foreign import ccall "gsl_sf_fermi_dirac_mhalf" gsl_sf_fermi_dirac_mhalf :: Double -> Double
-
--- | wrapper for int gsl_sf_fermi_dirac_half_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_half_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_half_e :: Double -> (Double,Double)
 fermi_dirac_half_e x = createSFR "fermi_dirac_half_e" $ gsl_sf_fermi_dirac_half_e x
 foreign import ccall "gsl_sf_fermi_dirac_half_e" gsl_sf_fermi_dirac_half_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fermi_dirac_half(double x);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_half&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_half :: Double -> Double
 fermi_dirac_half = gsl_sf_fermi_dirac_half
 foreign import ccall "gsl_sf_fermi_dirac_half" gsl_sf_fermi_dirac_half :: Double -> Double
-
--- | wrapper for int gsl_sf_fermi_dirac_3half_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_3half_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_3half_e :: Double -> (Double,Double)
 fermi_dirac_3half_e x = createSFR "fermi_dirac_3half_e" $ gsl_sf_fermi_dirac_3half_e x
 foreign import ccall "gsl_sf_fermi_dirac_3half_e" gsl_sf_fermi_dirac_3half_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fermi_dirac_3half(double x);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_3half&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_3half :: Double -> Double
 fermi_dirac_3half = gsl_sf_fermi_dirac_3half
 foreign import ccall "gsl_sf_fermi_dirac_3half" gsl_sf_fermi_dirac_3half :: Double -> Double
-
--- | wrapper for int gsl_sf_fermi_dirac_inc_0_e(double x,double b,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_inc_0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_inc_0_e :: Double -> Double -> (Double,Double)
 fermi_dirac_inc_0_e x b = createSFR "fermi_dirac_inc_0_e" $ gsl_sf_fermi_dirac_inc_0_e x b
 foreign import ccall "gsl_sf_fermi_dirac_inc_0_e" gsl_sf_fermi_dirac_inc_0_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fermi_dirac_inc_0(double x,double b);
---
---   <http://www.google.com/search?q=gsl_sf_fermi_dirac_inc_0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fermi_dirac_inc_0 :: Double -> Double -> Double
 fermi_dirac_inc_0 = gsl_sf_fermi_dirac_inc_0
 foreign import ccall "gsl_sf_fermi_dirac_inc_0" gsl_sf_fermi_dirac_inc_0 :: Double -> Double -> Double
diff --git a/lib/Numeric/GSL/Special/Gamma.hs b/lib/Numeric/GSL/Special/Gamma.hs
--- a/lib/Numeric/GSL/Special/Gamma.hs
+++ b/lib/Numeric/GSL/Special/Gamma.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Gamma
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_gamma.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Gamma
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_gamma.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Gamma(
@@ -60,311 +58,135 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_lngamma_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lngamma_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lngamma_e :: Double -> (Double,Double)
 lngamma_e x = createSFR "lngamma_e" $ gsl_sf_lngamma_e x
 foreign import ccall "gsl_sf_lngamma_e" gsl_sf_lngamma_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lngamma(double x);
---
---   <http://www.google.com/search?q=gsl_sf_lngamma&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lngamma :: Double -> Double
 lngamma = gsl_sf_lngamma
 foreign import ccall "gsl_sf_lngamma" gsl_sf_lngamma :: Double -> Double
-
--- | wrapper for int gsl_sf_lngamma_sgn_e(double x,gsl_sf_result* result_lg,double* sgn);
---
---   <http://www.google.com/search?q=gsl_sf_lngamma_sgn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lngamma_sgn_e :: Double -> Ptr () -> Ptr Double -> CInt
 lngamma_sgn_e = gsl_sf_lngamma_sgn_e
 foreign import ccall "gsl_sf_lngamma_sgn_e" gsl_sf_lngamma_sgn_e :: Double -> Ptr () -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_gamma_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gamma_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gamma_e :: Double -> (Double,Double)
 gamma_e x = createSFR "gamma_e" $ gsl_sf_gamma_e x
 foreign import ccall "gsl_sf_gamma_e" gsl_sf_gamma_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_gamma(double x);
---
---   <http://www.google.com/search?q=gsl_sf_gamma&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gamma :: Double -> Double
 gamma = gsl_sf_gamma
 foreign import ccall "gsl_sf_gamma" gsl_sf_gamma :: Double -> Double
-
--- | wrapper for int gsl_sf_gammastar_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gammastar_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gammastar_e :: Double -> (Double,Double)
 gammastar_e x = createSFR "gammastar_e" $ gsl_sf_gammastar_e x
 foreign import ccall "gsl_sf_gammastar_e" gsl_sf_gammastar_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_gammastar(double x);
---
---   <http://www.google.com/search?q=gsl_sf_gammastar&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gammastar :: Double -> Double
 gammastar = gsl_sf_gammastar
 foreign import ccall "gsl_sf_gammastar" gsl_sf_gammastar :: Double -> Double
-
--- | wrapper for int gsl_sf_gammainv_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gammainv_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gammainv_e :: Double -> (Double,Double)
 gammainv_e x = createSFR "gammainv_e" $ gsl_sf_gammainv_e x
 foreign import ccall "gsl_sf_gammainv_e" gsl_sf_gammainv_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_gammainv(double x);
---
---   <http://www.google.com/search?q=gsl_sf_gammainv&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gammainv :: Double -> Double
 gammainv = gsl_sf_gammainv
 foreign import ccall "gsl_sf_gammainv" gsl_sf_gammainv :: Double -> Double
-
--- | wrapper for int gsl_sf_lngamma_complex_e(double zr,double zi,gsl_sf_result* lnr,gsl_sf_result* arg);
---
---   <http://www.google.com/search?q=gsl_sf_lngamma_complex_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lngamma_complex_e :: Double -> Double -> Ptr () -> (Double,Double)
 lngamma_complex_e zr zi lnr = createSFR "lngamma_complex_e" $ gsl_sf_lngamma_complex_e zr zi lnr
 foreign import ccall "gsl_sf_lngamma_complex_e" gsl_sf_lngamma_complex_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_taylorcoeff_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_taylorcoeff_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 taylorcoeff_e :: CInt -> Double -> (Double,Double)
 taylorcoeff_e n x = createSFR "taylorcoeff_e" $ gsl_sf_taylorcoeff_e n x
 foreign import ccall "gsl_sf_taylorcoeff_e" gsl_sf_taylorcoeff_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_taylorcoeff(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_taylorcoeff&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 taylorcoeff :: CInt -> Double -> Double
 taylorcoeff = gsl_sf_taylorcoeff
 foreign import ccall "gsl_sf_taylorcoeff" gsl_sf_taylorcoeff :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_fact_e(int n,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_fact_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fact_e :: CInt -> (Double,Double)
 fact_e n = createSFR "fact_e" $ gsl_sf_fact_e n
 foreign import ccall "gsl_sf_fact_e" gsl_sf_fact_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_fact(int n);
---
---   <http://www.google.com/search?q=gsl_sf_fact&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 fact :: CInt -> Double
 fact = gsl_sf_fact
 foreign import ccall "gsl_sf_fact" gsl_sf_fact :: CInt -> Double
-
--- | wrapper for int gsl_sf_doublefact_e(int n,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_doublefact_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 doublefact_e :: CInt -> (Double,Double)
 doublefact_e n = createSFR "doublefact_e" $ gsl_sf_doublefact_e n
 foreign import ccall "gsl_sf_doublefact_e" gsl_sf_doublefact_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_doublefact(int n);
---
---   <http://www.google.com/search?q=gsl_sf_doublefact&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 doublefact :: CInt -> Double
 doublefact = gsl_sf_doublefact
 foreign import ccall "gsl_sf_doublefact" gsl_sf_doublefact :: CInt -> Double
-
--- | wrapper for int gsl_sf_lnfact_e(int n,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lnfact_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnfact_e :: CInt -> (Double,Double)
 lnfact_e n = createSFR "lnfact_e" $ gsl_sf_lnfact_e n
 foreign import ccall "gsl_sf_lnfact_e" gsl_sf_lnfact_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lnfact(int n);
---
---   <http://www.google.com/search?q=gsl_sf_lnfact&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnfact :: CInt -> Double
 lnfact = gsl_sf_lnfact
 foreign import ccall "gsl_sf_lnfact" gsl_sf_lnfact :: CInt -> Double
-
--- | wrapper for int gsl_sf_lndoublefact_e(int n,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lndoublefact_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lndoublefact_e :: CInt -> (Double,Double)
 lndoublefact_e n = createSFR "lndoublefact_e" $ gsl_sf_lndoublefact_e n
 foreign import ccall "gsl_sf_lndoublefact_e" gsl_sf_lndoublefact_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lndoublefact(int n);
---
---   <http://www.google.com/search?q=gsl_sf_lndoublefact&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lndoublefact :: CInt -> Double
 lndoublefact = gsl_sf_lndoublefact
 foreign import ccall "gsl_sf_lndoublefact" gsl_sf_lndoublefact :: CInt -> Double
-
--- | wrapper for int gsl_sf_lnchoose_e(int n,int m,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lnchoose_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnchoose_e :: CInt -> CInt -> (Double,Double)
 lnchoose_e n m = createSFR "lnchoose_e" $ gsl_sf_lnchoose_e n m
 foreign import ccall "gsl_sf_lnchoose_e" gsl_sf_lnchoose_e :: CInt -> CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lnchoose(int n,int m);
---
---   <http://www.google.com/search?q=gsl_sf_lnchoose&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnchoose :: CInt -> CInt -> Double
 lnchoose = gsl_sf_lnchoose
 foreign import ccall "gsl_sf_lnchoose" gsl_sf_lnchoose :: CInt -> CInt -> Double
-
--- | wrapper for int gsl_sf_choose_e(int n,int m,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_choose_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 choose_e :: CInt -> CInt -> (Double,Double)
 choose_e n m = createSFR "choose_e" $ gsl_sf_choose_e n m
 foreign import ccall "gsl_sf_choose_e" gsl_sf_choose_e :: CInt -> CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_choose(int n,int m);
---
---   <http://www.google.com/search?q=gsl_sf_choose&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 choose :: CInt -> CInt -> Double
 choose = gsl_sf_choose
 foreign import ccall "gsl_sf_choose" gsl_sf_choose :: CInt -> CInt -> Double
-
--- | wrapper for int gsl_sf_lnpoch_e(double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lnpoch_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnpoch_e :: Double -> Double -> (Double,Double)
 lnpoch_e a x = createSFR "lnpoch_e" $ gsl_sf_lnpoch_e a x
 foreign import ccall "gsl_sf_lnpoch_e" gsl_sf_lnpoch_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lnpoch(double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_lnpoch&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnpoch :: Double -> Double -> Double
 lnpoch = gsl_sf_lnpoch
 foreign import ccall "gsl_sf_lnpoch" gsl_sf_lnpoch :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_lnpoch_sgn_e(double a,double x,gsl_sf_result* result,double* sgn);
---
---   <http://www.google.com/search?q=gsl_sf_lnpoch_sgn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnpoch_sgn_e :: Double -> Double -> Ptr () -> Ptr Double -> CInt
 lnpoch_sgn_e = gsl_sf_lnpoch_sgn_e
 foreign import ccall "gsl_sf_lnpoch_sgn_e" gsl_sf_lnpoch_sgn_e :: Double -> Double -> Ptr () -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_poch_e(double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_poch_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 poch_e :: Double -> Double -> (Double,Double)
 poch_e a x = createSFR "poch_e" $ gsl_sf_poch_e a x
 foreign import ccall "gsl_sf_poch_e" gsl_sf_poch_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_poch(double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_poch&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 poch :: Double -> Double -> Double
 poch = gsl_sf_poch
 foreign import ccall "gsl_sf_poch" gsl_sf_poch :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_pochrel_e(double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_pochrel_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 pochrel_e :: Double -> Double -> (Double,Double)
 pochrel_e a x = createSFR "pochrel_e" $ gsl_sf_pochrel_e a x
 foreign import ccall "gsl_sf_pochrel_e" gsl_sf_pochrel_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_pochrel(double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_pochrel&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 pochrel :: Double -> Double -> Double
 pochrel = gsl_sf_pochrel
 foreign import ccall "gsl_sf_pochrel" gsl_sf_pochrel :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_gamma_inc_Q_e(double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gamma_inc_Q_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gamma_inc_Q_e :: Double -> Double -> (Double,Double)
 gamma_inc_Q_e a x = createSFR "gamma_inc_Q_e" $ gsl_sf_gamma_inc_Q_e a x
 foreign import ccall "gsl_sf_gamma_inc_Q_e" gsl_sf_gamma_inc_Q_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_gamma_inc_Q(double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_gamma_inc_Q&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gamma_inc_Q :: Double -> Double -> Double
 gamma_inc_Q = gsl_sf_gamma_inc_Q
 foreign import ccall "gsl_sf_gamma_inc_Q" gsl_sf_gamma_inc_Q :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_gamma_inc_P_e(double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gamma_inc_P_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gamma_inc_P_e :: Double -> Double -> (Double,Double)
 gamma_inc_P_e a x = createSFR "gamma_inc_P_e" $ gsl_sf_gamma_inc_P_e a x
 foreign import ccall "gsl_sf_gamma_inc_P_e" gsl_sf_gamma_inc_P_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_gamma_inc_P(double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_gamma_inc_P&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gamma_inc_P :: Double -> Double -> Double
 gamma_inc_P = gsl_sf_gamma_inc_P
 foreign import ccall "gsl_sf_gamma_inc_P" gsl_sf_gamma_inc_P :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_gamma_inc_e(double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gamma_inc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gamma_inc_e :: Double -> Double -> (Double,Double)
 gamma_inc_e a x = createSFR "gamma_inc_e" $ gsl_sf_gamma_inc_e a x
 foreign import ccall "gsl_sf_gamma_inc_e" gsl_sf_gamma_inc_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_gamma_inc(double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_gamma_inc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gamma_inc :: Double -> Double -> Double
 gamma_inc = gsl_sf_gamma_inc
 foreign import ccall "gsl_sf_gamma_inc" gsl_sf_gamma_inc :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_lnbeta_e(double a,double b,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lnbeta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnbeta_e :: Double -> Double -> (Double,Double)
 lnbeta_e a b = createSFR "lnbeta_e" $ gsl_sf_lnbeta_e a b
 foreign import ccall "gsl_sf_lnbeta_e" gsl_sf_lnbeta_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lnbeta(double a,double b);
---
---   <http://www.google.com/search?q=gsl_sf_lnbeta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnbeta :: Double -> Double -> Double
 lnbeta = gsl_sf_lnbeta
 foreign import ccall "gsl_sf_lnbeta" gsl_sf_lnbeta :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_lnbeta_sgn_e(double x,double y,gsl_sf_result* result,double* sgn);
---
---   <http://www.google.com/search?q=gsl_sf_lnbeta_sgn_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnbeta_sgn_e :: Double -> Double -> Ptr () -> Ptr Double -> CInt
 lnbeta_sgn_e = gsl_sf_lnbeta_sgn_e
 foreign import ccall "gsl_sf_lnbeta_sgn_e" gsl_sf_lnbeta_sgn_e :: Double -> Double -> Ptr () -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_beta_e(double a,double b,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_beta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 beta_e :: Double -> Double -> (Double,Double)
 beta_e a b = createSFR "beta_e" $ gsl_sf_beta_e a b
 foreign import ccall "gsl_sf_beta_e" gsl_sf_beta_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_beta(double a,double b);
---
---   <http://www.google.com/search?q=gsl_sf_beta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 beta :: Double -> Double -> Double
 beta = gsl_sf_beta
 foreign import ccall "gsl_sf_beta" gsl_sf_beta :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_beta_inc_e(double a,double b,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_beta_inc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 beta_inc_e :: Double -> Double -> Double -> (Double,Double)
 beta_inc_e a b x = createSFR "beta_inc_e" $ gsl_sf_beta_inc_e a b x
 foreign import ccall "gsl_sf_beta_inc_e" gsl_sf_beta_inc_e :: Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_beta_inc(double a,double b,double x);
---
---   <http://www.google.com/search?q=gsl_sf_beta_inc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 beta_inc :: Double -> Double -> Double -> Double
 beta_inc = gsl_sf_beta_inc
 foreign import ccall "gsl_sf_beta_inc" gsl_sf_beta_inc :: Double -> Double -> Double -> Double
diff --git a/lib/Numeric/GSL/Special/Gegenbauer.hs b/lib/Numeric/GSL/Special/Gegenbauer.hs
--- a/lib/Numeric/GSL/Special/Gegenbauer.hs
+++ b/lib/Numeric/GSL/Special/Gegenbauer.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Gegenbauer
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_gegenbauer.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Gegenbauer
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_gegenbauer.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Gegenbauer(
@@ -28,66 +26,30 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_gegenpoly_1_e(double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gegenpoly_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gegenpoly_1_e :: Double -> Double -> (Double,Double)
 gegenpoly_1_e lambda x = createSFR "gegenpoly_1_e" $ gsl_sf_gegenpoly_1_e lambda x
 foreign import ccall "gsl_sf_gegenpoly_1_e" gsl_sf_gegenpoly_1_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_gegenpoly_2_e(double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gegenpoly_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gegenpoly_2_e :: Double -> Double -> (Double,Double)
 gegenpoly_2_e lambda x = createSFR "gegenpoly_2_e" $ gsl_sf_gegenpoly_2_e lambda x
 foreign import ccall "gsl_sf_gegenpoly_2_e" gsl_sf_gegenpoly_2_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_gegenpoly_3_e(double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gegenpoly_3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gegenpoly_3_e :: Double -> Double -> (Double,Double)
 gegenpoly_3_e lambda x = createSFR "gegenpoly_3_e" $ gsl_sf_gegenpoly_3_e lambda x
 foreign import ccall "gsl_sf_gegenpoly_3_e" gsl_sf_gegenpoly_3_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_gegenpoly_1(double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_gegenpoly_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gegenpoly_1 :: Double -> Double -> Double
 gegenpoly_1 = gsl_sf_gegenpoly_1
 foreign import ccall "gsl_sf_gegenpoly_1" gsl_sf_gegenpoly_1 :: Double -> Double -> Double
-
--- | wrapper for double gsl_sf_gegenpoly_2(double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_gegenpoly_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gegenpoly_2 :: Double -> Double -> Double
 gegenpoly_2 = gsl_sf_gegenpoly_2
 foreign import ccall "gsl_sf_gegenpoly_2" gsl_sf_gegenpoly_2 :: Double -> Double -> Double
-
--- | wrapper for double gsl_sf_gegenpoly_3(double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_gegenpoly_3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gegenpoly_3 :: Double -> Double -> Double
 gegenpoly_3 = gsl_sf_gegenpoly_3
 foreign import ccall "gsl_sf_gegenpoly_3" gsl_sf_gegenpoly_3 :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_gegenpoly_n_e(int n,double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_gegenpoly_n_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gegenpoly_n_e :: CInt -> Double -> Double -> (Double,Double)
 gegenpoly_n_e n lambda x = createSFR "gegenpoly_n_e" $ gsl_sf_gegenpoly_n_e n lambda x
 foreign import ccall "gsl_sf_gegenpoly_n_e" gsl_sf_gegenpoly_n_e :: CInt -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_gegenpoly_n(int n,double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_gegenpoly_n&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gegenpoly_n :: CInt -> Double -> Double -> Double
 gegenpoly_n = gsl_sf_gegenpoly_n
 foreign import ccall "gsl_sf_gegenpoly_n" gsl_sf_gegenpoly_n :: CInt -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_gegenpoly_array(int nmax,double lambda,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_gegenpoly_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 gegenpoly_array :: CInt -> Double -> Double -> Ptr Double -> CInt
 gegenpoly_array = gsl_sf_gegenpoly_array
 foreign import ccall "gsl_sf_gegenpoly_array" gsl_sf_gegenpoly_array :: CInt -> Double -> Double -> Ptr Double -> CInt
diff --git a/lib/Numeric/GSL/Special/Hyperg.hs b/lib/Numeric/GSL/Special/Hyperg.hs
--- a/lib/Numeric/GSL/Special/Hyperg.hs
+++ b/lib/Numeric/GSL/Special/Hyperg.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Hyperg
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_hyperg.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Hyperg
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_hyperg.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Hyperg(
@@ -42,157 +40,69 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_hyperg_0F1_e(double c,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_0F1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_0F1_e :: Double -> Double -> (Double,Double)
 hyperg_0F1_e c x = createSFR "hyperg_0F1_e" $ gsl_sf_hyperg_0F1_e c x
 foreign import ccall "gsl_sf_hyperg_0F1_e" gsl_sf_hyperg_0F1_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_0F1(double c,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_0F1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_0F1 :: Double -> Double -> Double
 hyperg_0F1 = gsl_sf_hyperg_0F1
 foreign import ccall "gsl_sf_hyperg_0F1" gsl_sf_hyperg_0F1 :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_hyperg_1F1_int_e(int m,int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_1F1_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_1F1_int_e :: CInt -> CInt -> Double -> (Double,Double)
 hyperg_1F1_int_e m n x = createSFR "hyperg_1F1_int_e" $ gsl_sf_hyperg_1F1_int_e m n x
 foreign import ccall "gsl_sf_hyperg_1F1_int_e" gsl_sf_hyperg_1F1_int_e :: CInt -> CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_1F1_int(int m,int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_1F1_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_1F1_int :: CInt -> CInt -> Double -> Double
 hyperg_1F1_int = gsl_sf_hyperg_1F1_int
 foreign import ccall "gsl_sf_hyperg_1F1_int" gsl_sf_hyperg_1F1_int :: CInt -> CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_hyperg_1F1_e(double a,double b,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_1F1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_1F1_e :: Double -> Double -> Double -> (Double,Double)
 hyperg_1F1_e a b x = createSFR "hyperg_1F1_e" $ gsl_sf_hyperg_1F1_e a b x
 foreign import ccall "gsl_sf_hyperg_1F1_e" gsl_sf_hyperg_1F1_e :: Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_1F1(double a,double b,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_1F1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_1F1 :: Double -> Double -> Double -> Double
 hyperg_1F1 = gsl_sf_hyperg_1F1
 foreign import ccall "gsl_sf_hyperg_1F1" gsl_sf_hyperg_1F1 :: Double -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_hyperg_U_int_e(int m,int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_U_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_U_int_e :: CInt -> CInt -> Double -> (Double,Double)
 hyperg_U_int_e m n x = createSFR "hyperg_U_int_e" $ gsl_sf_hyperg_U_int_e m n x
 foreign import ccall "gsl_sf_hyperg_U_int_e" gsl_sf_hyperg_U_int_e :: CInt -> CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_U_int(int m,int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_U_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_U_int :: CInt -> CInt -> Double -> Double
 hyperg_U_int = gsl_sf_hyperg_U_int
 foreign import ccall "gsl_sf_hyperg_U_int" gsl_sf_hyperg_U_int :: CInt -> CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_hyperg_U_int_e10_e(int m,int n,double x,gsl_sf_result_e10* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_U_int_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_U_int_e10_e :: CInt -> CInt -> Double -> (Double,Int,Double)
 hyperg_U_int_e10_e m n x = createSFR_E10 "hyperg_U_int_e10_e" $ gsl_sf_hyperg_U_int_e10_e m n x
 foreign import ccall "gsl_sf_hyperg_U_int_e10_e" gsl_sf_hyperg_U_int_e10_e :: CInt -> CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_hyperg_U_e(double a,double b,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_U_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_U_e :: Double -> Double -> Double -> (Double,Double)
 hyperg_U_e a b x = createSFR "hyperg_U_e" $ gsl_sf_hyperg_U_e a b x
 foreign import ccall "gsl_sf_hyperg_U_e" gsl_sf_hyperg_U_e :: Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_U(double a,double b,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_U&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_U :: Double -> Double -> Double -> Double
 hyperg_U = gsl_sf_hyperg_U
 foreign import ccall "gsl_sf_hyperg_U" gsl_sf_hyperg_U :: Double -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_hyperg_U_e10_e(double a,double b,double x,gsl_sf_result_e10* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_U_e10_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_U_e10_e :: Double -> Double -> Double -> (Double,Int,Double)
 hyperg_U_e10_e a b x = createSFR_E10 "hyperg_U_e10_e" $ gsl_sf_hyperg_U_e10_e a b x
 foreign import ccall "gsl_sf_hyperg_U_e10_e" gsl_sf_hyperg_U_e10_e :: Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_hyperg_2F1_e(double a,double b,double c,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F1_e :: Double -> Double -> Double -> Double -> (Double,Double)
 hyperg_2F1_e a b c x = createSFR "hyperg_2F1_e" $ gsl_sf_hyperg_2F1_e a b c x
 foreign import ccall "gsl_sf_hyperg_2F1_e" gsl_sf_hyperg_2F1_e :: Double -> Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_2F1(double a,double b,double c,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F1 :: Double -> Double -> Double -> Double -> Double
 hyperg_2F1 = gsl_sf_hyperg_2F1
 foreign import ccall "gsl_sf_hyperg_2F1" gsl_sf_hyperg_2F1 :: Double -> Double -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_hyperg_2F1_conj_e(double aR,double aI,double c,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F1_conj_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F1_conj_e :: Double -> Double -> Double -> Double -> (Double,Double)
 hyperg_2F1_conj_e aR aI c x = createSFR "hyperg_2F1_conj_e" $ gsl_sf_hyperg_2F1_conj_e aR aI c x
 foreign import ccall "gsl_sf_hyperg_2F1_conj_e" gsl_sf_hyperg_2F1_conj_e :: Double -> Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_2F1_conj(double aR,double aI,double c,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F1_conj&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F1_conj :: Double -> Double -> Double -> Double -> Double
 hyperg_2F1_conj = gsl_sf_hyperg_2F1_conj
 foreign import ccall "gsl_sf_hyperg_2F1_conj" gsl_sf_hyperg_2F1_conj :: Double -> Double -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_hyperg_2F1_renorm_e(double a,double b,double c,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F1_renorm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F1_renorm_e :: Double -> Double -> Double -> Double -> (Double,Double)
 hyperg_2F1_renorm_e a b c x = createSFR "hyperg_2F1_renorm_e" $ gsl_sf_hyperg_2F1_renorm_e a b c x
 foreign import ccall "gsl_sf_hyperg_2F1_renorm_e" gsl_sf_hyperg_2F1_renorm_e :: Double -> Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_2F1_renorm(double a,double b,double c,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F1_renorm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F1_renorm :: Double -> Double -> Double -> Double -> Double
 hyperg_2F1_renorm = gsl_sf_hyperg_2F1_renorm
 foreign import ccall "gsl_sf_hyperg_2F1_renorm" gsl_sf_hyperg_2F1_renorm :: Double -> Double -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_hyperg_2F1_conj_renorm_e(double aR,double aI,double c,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F1_conj_renorm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F1_conj_renorm_e :: Double -> Double -> Double -> Double -> (Double,Double)
 hyperg_2F1_conj_renorm_e aR aI c x = createSFR "hyperg_2F1_conj_renorm_e" $ gsl_sf_hyperg_2F1_conj_renorm_e aR aI c x
 foreign import ccall "gsl_sf_hyperg_2F1_conj_renorm_e" gsl_sf_hyperg_2F1_conj_renorm_e :: Double -> Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_2F1_conj_renorm(double aR,double aI,double c,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F1_conj_renorm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F1_conj_renorm :: Double -> Double -> Double -> Double -> Double
 hyperg_2F1_conj_renorm = gsl_sf_hyperg_2F1_conj_renorm
 foreign import ccall "gsl_sf_hyperg_2F1_conj_renorm" gsl_sf_hyperg_2F1_conj_renorm :: Double -> Double -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_hyperg_2F0_e(double a,double b,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F0_e :: Double -> Double -> Double -> (Double,Double)
 hyperg_2F0_e a b x = createSFR "hyperg_2F0_e" $ gsl_sf_hyperg_2F0_e a b x
 foreign import ccall "gsl_sf_hyperg_2F0_e" gsl_sf_hyperg_2F0_e :: Double -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hyperg_2F0(double a,double b,double x);
---
---   <http://www.google.com/search?q=gsl_sf_hyperg_2F0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hyperg_2F0 :: Double -> Double -> Double -> Double
 hyperg_2F0 = gsl_sf_hyperg_2F0
 foreign import ccall "gsl_sf_hyperg_2F0" gsl_sf_hyperg_2F0 :: Double -> Double -> Double -> Double
diff --git a/lib/Numeric/GSL/Special/Laguerre.hs b/lib/Numeric/GSL/Special/Laguerre.hs
--- a/lib/Numeric/GSL/Special/Laguerre.hs
+++ b/lib/Numeric/GSL/Special/Laguerre.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Laguerre
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_laguerre.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Laguerre
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_laguerre.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Laguerre(
@@ -28,59 +26,27 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_laguerre_1_e(double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_laguerre_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 laguerre_1_e :: Double -> Double -> (Double,Double)
 laguerre_1_e a x = createSFR "laguerre_1_e" $ gsl_sf_laguerre_1_e a x
 foreign import ccall "gsl_sf_laguerre_1_e" gsl_sf_laguerre_1_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_laguerre_2_e(double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_laguerre_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 laguerre_2_e :: Double -> Double -> (Double,Double)
 laguerre_2_e a x = createSFR "laguerre_2_e" $ gsl_sf_laguerre_2_e a x
 foreign import ccall "gsl_sf_laguerre_2_e" gsl_sf_laguerre_2_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_laguerre_3_e(double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_laguerre_3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 laguerre_3_e :: Double -> Double -> (Double,Double)
 laguerre_3_e a x = createSFR "laguerre_3_e" $ gsl_sf_laguerre_3_e a x
 foreign import ccall "gsl_sf_laguerre_3_e" gsl_sf_laguerre_3_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_laguerre_1(double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_laguerre_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 laguerre_1 :: Double -> Double -> Double
 laguerre_1 = gsl_sf_laguerre_1
 foreign import ccall "gsl_sf_laguerre_1" gsl_sf_laguerre_1 :: Double -> Double -> Double
-
--- | wrapper for double gsl_sf_laguerre_2(double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_laguerre_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 laguerre_2 :: Double -> Double -> Double
 laguerre_2 = gsl_sf_laguerre_2
 foreign import ccall "gsl_sf_laguerre_2" gsl_sf_laguerre_2 :: Double -> Double -> Double
-
--- | wrapper for double gsl_sf_laguerre_3(double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_laguerre_3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 laguerre_3 :: Double -> Double -> Double
 laguerre_3 = gsl_sf_laguerre_3
 foreign import ccall "gsl_sf_laguerre_3" gsl_sf_laguerre_3 :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_laguerre_n_e(int n,double a,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_laguerre_n_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 laguerre_n_e :: CInt -> Double -> Double -> (Double,Double)
 laguerre_n_e n a x = createSFR "laguerre_n_e" $ gsl_sf_laguerre_n_e n a x
 foreign import ccall "gsl_sf_laguerre_n_e" gsl_sf_laguerre_n_e :: CInt -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_laguerre_n(int n,double a,double x);
---
---   <http://www.google.com/search?q=gsl_sf_laguerre_n&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 laguerre_n :: CInt -> Double -> Double -> Double
 laguerre_n = gsl_sf_laguerre_n
 foreign import ccall "gsl_sf_laguerre_n" gsl_sf_laguerre_n :: CInt -> Double -> Double -> Double
diff --git a/lib/Numeric/GSL/Special/Lambert.hs b/lib/Numeric/GSL/Special/Lambert.hs
--- a/lib/Numeric/GSL/Special/Lambert.hs
+++ b/lib/Numeric/GSL/Special/Lambert.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Lambert
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_lambert.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Lambert
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_lambert.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Lambert(
@@ -24,31 +22,15 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_lambert_W0_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lambert_W0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lambert_W0_e :: Double -> (Double,Double)
 lambert_W0_e x = createSFR "lambert_W0_e" $ gsl_sf_lambert_W0_e x
 foreign import ccall "gsl_sf_lambert_W0_e" gsl_sf_lambert_W0_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lambert_W0(double x);
---
---   <http://www.google.com/search?q=gsl_sf_lambert_W0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lambert_W0 :: Double -> Double
 lambert_W0 = gsl_sf_lambert_W0
 foreign import ccall "gsl_sf_lambert_W0" gsl_sf_lambert_W0 :: Double -> Double
-
--- | wrapper for int gsl_sf_lambert_Wm1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lambert_Wm1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lambert_Wm1_e :: Double -> (Double,Double)
 lambert_Wm1_e x = createSFR "lambert_Wm1_e" $ gsl_sf_lambert_Wm1_e x
 foreign import ccall "gsl_sf_lambert_Wm1_e" gsl_sf_lambert_Wm1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lambert_Wm1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_lambert_Wm1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lambert_Wm1 :: Double -> Double
 lambert_Wm1 = gsl_sf_lambert_Wm1
 foreign import ccall "gsl_sf_lambert_Wm1" gsl_sf_lambert_Wm1 :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Legendre.hs b/lib/Numeric/GSL/Special/Legendre.hs
--- a/lib/Numeric/GSL/Special/Legendre.hs
+++ b/lib/Numeric/GSL/Special/Legendre.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Legendre
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_legendre.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Legendre
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_legendre.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Legendre(
@@ -57,311 +55,135 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_legendre_Pl_e(int l,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Pl_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Pl_e :: CInt -> Double -> (Double,Double)
 legendre_Pl_e l x = createSFR "legendre_Pl_e" $ gsl_sf_legendre_Pl_e l x
 foreign import ccall "gsl_sf_legendre_Pl_e" gsl_sf_legendre_Pl_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_Pl(int l,double x);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Pl&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Pl :: CInt -> Double -> Double
 legendre_Pl = gsl_sf_legendre_Pl
 foreign import ccall "gsl_sf_legendre_Pl" gsl_sf_legendre_Pl :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_legendre_Pl_array(int lmax,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Pl_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Pl_array :: CInt -> Double -> Ptr Double -> CInt
 legendre_Pl_array = gsl_sf_legendre_Pl_array
 foreign import ccall "gsl_sf_legendre_Pl_array" gsl_sf_legendre_Pl_array :: CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_legendre_Pl_deriv_array(int lmax,double x,double* result_array,double* result_deriv_array);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Pl_deriv_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Pl_deriv_array :: CInt -> Double -> Ptr Double -> Ptr Double -> CInt
 legendre_Pl_deriv_array = gsl_sf_legendre_Pl_deriv_array
 foreign import ccall "gsl_sf_legendre_Pl_deriv_array" gsl_sf_legendre_Pl_deriv_array :: CInt -> Double -> Ptr Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_legendre_P1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_P1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_P1_e :: Double -> (Double,Double)
 legendre_P1_e x = createSFR "legendre_P1_e" $ gsl_sf_legendre_P1_e x
 foreign import ccall "gsl_sf_legendre_P1_e" gsl_sf_legendre_P1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_legendre_P2_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_P2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_P2_e :: Double -> (Double,Double)
 legendre_P2_e x = createSFR "legendre_P2_e" $ gsl_sf_legendre_P2_e x
 foreign import ccall "gsl_sf_legendre_P2_e" gsl_sf_legendre_P2_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_legendre_P3_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_P3_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_P3_e :: Double -> (Double,Double)
 legendre_P3_e x = createSFR "legendre_P3_e" $ gsl_sf_legendre_P3_e x
 foreign import ccall "gsl_sf_legendre_P3_e" gsl_sf_legendre_P3_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_P1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_P1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_P1 :: Double -> Double
 legendre_P1 = gsl_sf_legendre_P1
 foreign import ccall "gsl_sf_legendre_P1" gsl_sf_legendre_P1 :: Double -> Double
-
--- | wrapper for double gsl_sf_legendre_P2(double x);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_P2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_P2 :: Double -> Double
 legendre_P2 = gsl_sf_legendre_P2
 foreign import ccall "gsl_sf_legendre_P2" gsl_sf_legendre_P2 :: Double -> Double
-
--- | wrapper for double gsl_sf_legendre_P3(double x);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_P3&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_P3 :: Double -> Double
 legendre_P3 = gsl_sf_legendre_P3
 foreign import ccall "gsl_sf_legendre_P3" gsl_sf_legendre_P3 :: Double -> Double
-
--- | wrapper for int gsl_sf_legendre_Q0_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Q0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Q0_e :: Double -> (Double,Double)
 legendre_Q0_e x = createSFR "legendre_Q0_e" $ gsl_sf_legendre_Q0_e x
 foreign import ccall "gsl_sf_legendre_Q0_e" gsl_sf_legendre_Q0_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_Q0(double x);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Q0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Q0 :: Double -> Double
 legendre_Q0 = gsl_sf_legendre_Q0
 foreign import ccall "gsl_sf_legendre_Q0" gsl_sf_legendre_Q0 :: Double -> Double
-
--- | wrapper for int gsl_sf_legendre_Q1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Q1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Q1_e :: Double -> (Double,Double)
 legendre_Q1_e x = createSFR "legendre_Q1_e" $ gsl_sf_legendre_Q1_e x
 foreign import ccall "gsl_sf_legendre_Q1_e" gsl_sf_legendre_Q1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_Q1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Q1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Q1 :: Double -> Double
 legendre_Q1 = gsl_sf_legendre_Q1
 foreign import ccall "gsl_sf_legendre_Q1" gsl_sf_legendre_Q1 :: Double -> Double
-
--- | wrapper for int gsl_sf_legendre_Ql_e(int l,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Ql_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Ql_e :: CInt -> Double -> (Double,Double)
 legendre_Ql_e l x = createSFR "legendre_Ql_e" $ gsl_sf_legendre_Ql_e l x
 foreign import ccall "gsl_sf_legendre_Ql_e" gsl_sf_legendre_Ql_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_Ql(int l,double x);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Ql&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Ql :: CInt -> Double -> Double
 legendre_Ql = gsl_sf_legendre_Ql
 foreign import ccall "gsl_sf_legendre_Ql" gsl_sf_legendre_Ql :: CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_legendre_Plm_e(int l,int m,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Plm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Plm_e :: CInt -> CInt -> Double -> (Double,Double)
 legendre_Plm_e l m x = createSFR "legendre_Plm_e" $ gsl_sf_legendre_Plm_e l m x
 foreign import ccall "gsl_sf_legendre_Plm_e" gsl_sf_legendre_Plm_e :: CInt -> CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_Plm(int l,int m,double x);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Plm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Plm :: CInt -> CInt -> Double -> Double
 legendre_Plm = gsl_sf_legendre_Plm
 foreign import ccall "gsl_sf_legendre_Plm" gsl_sf_legendre_Plm :: CInt -> CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_legendre_Plm_array(int lmax,int m,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Plm_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Plm_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
 legendre_Plm_array = gsl_sf_legendre_Plm_array
 foreign import ccall "gsl_sf_legendre_Plm_array" gsl_sf_legendre_Plm_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_legendre_Plm_deriv_array(int lmax,int m,double x,double* result_array,double* result_deriv_array);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_Plm_deriv_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_Plm_deriv_array :: CInt -> CInt -> Double -> Ptr Double -> Ptr Double -> CInt
 legendre_Plm_deriv_array = gsl_sf_legendre_Plm_deriv_array
 foreign import ccall "gsl_sf_legendre_Plm_deriv_array" gsl_sf_legendre_Plm_deriv_array :: CInt -> CInt -> Double -> Ptr Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_legendre_sphPlm_e(int l,int m,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_sphPlm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_sphPlm_e :: CInt -> CInt -> Double -> (Double,Double)
 legendre_sphPlm_e l m x = createSFR "legendre_sphPlm_e" $ gsl_sf_legendre_sphPlm_e l m x
 foreign import ccall "gsl_sf_legendre_sphPlm_e" gsl_sf_legendre_sphPlm_e :: CInt -> CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_sphPlm(int l,int m,double x);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_sphPlm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_sphPlm :: CInt -> CInt -> Double -> Double
 legendre_sphPlm = gsl_sf_legendre_sphPlm
 foreign import ccall "gsl_sf_legendre_sphPlm" gsl_sf_legendre_sphPlm :: CInt -> CInt -> Double -> Double
-
--- | wrapper for int gsl_sf_legendre_sphPlm_array(int lmax,int m,double x,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_sphPlm_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_sphPlm_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
 legendre_sphPlm_array = gsl_sf_legendre_sphPlm_array
 foreign import ccall "gsl_sf_legendre_sphPlm_array" gsl_sf_legendre_sphPlm_array :: CInt -> CInt -> Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_legendre_sphPlm_deriv_array(int lmax,int m,double x,double* result_array,double* result_deriv_array);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_sphPlm_deriv_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_sphPlm_deriv_array :: CInt -> CInt -> Double -> Ptr Double -> Ptr Double -> CInt
 legendre_sphPlm_deriv_array = gsl_sf_legendre_sphPlm_deriv_array
 foreign import ccall "gsl_sf_legendre_sphPlm_deriv_array" gsl_sf_legendre_sphPlm_deriv_array :: CInt -> CInt -> Double -> Ptr Double -> Ptr Double -> CInt
-
--- | wrapper for int gsl_sf_legendre_array_size(int lmax,int m);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_array_size&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_array_size :: CInt -> CInt -> CInt
 legendre_array_size = gsl_sf_legendre_array_size
 foreign import ccall "gsl_sf_legendre_array_size" gsl_sf_legendre_array_size :: CInt -> CInt -> CInt
-
--- | wrapper for int gsl_sf_conicalP_half_e(double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_half_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_half_e :: Double -> Double -> (Double,Double)
 conicalP_half_e lambda x = createSFR "conicalP_half_e" $ gsl_sf_conicalP_half_e lambda x
 foreign import ccall "gsl_sf_conicalP_half_e" gsl_sf_conicalP_half_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_conicalP_half(double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_half&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_half :: Double -> Double -> Double
 conicalP_half = gsl_sf_conicalP_half
 foreign import ccall "gsl_sf_conicalP_half" gsl_sf_conicalP_half :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_conicalP_mhalf_e(double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_mhalf_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_mhalf_e :: Double -> Double -> (Double,Double)
 conicalP_mhalf_e lambda x = createSFR "conicalP_mhalf_e" $ gsl_sf_conicalP_mhalf_e lambda x
 foreign import ccall "gsl_sf_conicalP_mhalf_e" gsl_sf_conicalP_mhalf_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_conicalP_mhalf(double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_mhalf&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_mhalf :: Double -> Double -> Double
 conicalP_mhalf = gsl_sf_conicalP_mhalf
 foreign import ccall "gsl_sf_conicalP_mhalf" gsl_sf_conicalP_mhalf :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_conicalP_0_e(double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_0_e :: Double -> Double -> (Double,Double)
 conicalP_0_e lambda x = createSFR "conicalP_0_e" $ gsl_sf_conicalP_0_e lambda x
 foreign import ccall "gsl_sf_conicalP_0_e" gsl_sf_conicalP_0_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_conicalP_0(double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_0 :: Double -> Double -> Double
 conicalP_0 = gsl_sf_conicalP_0
 foreign import ccall "gsl_sf_conicalP_0" gsl_sf_conicalP_0 :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_conicalP_1_e(double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_1_e :: Double -> Double -> (Double,Double)
 conicalP_1_e lambda x = createSFR "conicalP_1_e" $ gsl_sf_conicalP_1_e lambda x
 foreign import ccall "gsl_sf_conicalP_1_e" gsl_sf_conicalP_1_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_conicalP_1(double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_1 :: Double -> Double -> Double
 conicalP_1 = gsl_sf_conicalP_1
 foreign import ccall "gsl_sf_conicalP_1" gsl_sf_conicalP_1 :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_conicalP_sph_reg_e(int l,double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_sph_reg_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_sph_reg_e :: CInt -> Double -> Double -> (Double,Double)
 conicalP_sph_reg_e l lambda x = createSFR "conicalP_sph_reg_e" $ gsl_sf_conicalP_sph_reg_e l lambda x
 foreign import ccall "gsl_sf_conicalP_sph_reg_e" gsl_sf_conicalP_sph_reg_e :: CInt -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_conicalP_sph_reg(int l,double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_sph_reg&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_sph_reg :: CInt -> Double -> Double -> Double
 conicalP_sph_reg = gsl_sf_conicalP_sph_reg
 foreign import ccall "gsl_sf_conicalP_sph_reg" gsl_sf_conicalP_sph_reg :: CInt -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_conicalP_cyl_reg_e(int m,double lambda,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_cyl_reg_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_cyl_reg_e :: CInt -> Double -> Double -> (Double,Double)
 conicalP_cyl_reg_e m lambda x = createSFR "conicalP_cyl_reg_e" $ gsl_sf_conicalP_cyl_reg_e m lambda x
 foreign import ccall "gsl_sf_conicalP_cyl_reg_e" gsl_sf_conicalP_cyl_reg_e :: CInt -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_conicalP_cyl_reg(int m,double lambda,double x);
---
---   <http://www.google.com/search?q=gsl_sf_conicalP_cyl_reg&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 conicalP_cyl_reg :: CInt -> Double -> Double -> Double
 conicalP_cyl_reg = gsl_sf_conicalP_cyl_reg
 foreign import ccall "gsl_sf_conicalP_cyl_reg" gsl_sf_conicalP_cyl_reg :: CInt -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_legendre_H3d_0_e(double lambda,double eta,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_H3d_0_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_H3d_0_e :: Double -> Double -> (Double,Double)
 legendre_H3d_0_e lambda eta = createSFR "legendre_H3d_0_e" $ gsl_sf_legendre_H3d_0_e lambda eta
 foreign import ccall "gsl_sf_legendre_H3d_0_e" gsl_sf_legendre_H3d_0_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_H3d_0(double lambda,double eta);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_H3d_0&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_H3d_0 :: Double -> Double -> Double
 legendre_H3d_0 = gsl_sf_legendre_H3d_0
 foreign import ccall "gsl_sf_legendre_H3d_0" gsl_sf_legendre_H3d_0 :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_legendre_H3d_1_e(double lambda,double eta,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_H3d_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_H3d_1_e :: Double -> Double -> (Double,Double)
 legendre_H3d_1_e lambda eta = createSFR "legendre_H3d_1_e" $ gsl_sf_legendre_H3d_1_e lambda eta
 foreign import ccall "gsl_sf_legendre_H3d_1_e" gsl_sf_legendre_H3d_1_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_H3d_1(double lambda,double eta);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_H3d_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_H3d_1 :: Double -> Double -> Double
 legendre_H3d_1 = gsl_sf_legendre_H3d_1
 foreign import ccall "gsl_sf_legendre_H3d_1" gsl_sf_legendre_H3d_1 :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_legendre_H3d_e(int l,double lambda,double eta,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_H3d_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_H3d_e :: CInt -> Double -> Double -> (Double,Double)
 legendre_H3d_e l lambda eta = createSFR "legendre_H3d_e" $ gsl_sf_legendre_H3d_e l lambda eta
 foreign import ccall "gsl_sf_legendre_H3d_e" gsl_sf_legendre_H3d_e :: CInt -> Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_legendre_H3d(int l,double lambda,double eta);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_H3d&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_H3d :: CInt -> Double -> Double -> Double
 legendre_H3d = gsl_sf_legendre_H3d
 foreign import ccall "gsl_sf_legendre_H3d" gsl_sf_legendre_H3d :: CInt -> Double -> Double -> Double
-
--- | wrapper for int gsl_sf_legendre_H3d_array(int lmax,double lambda,double eta,double* result_array);
---
---   <http://www.google.com/search?q=gsl_sf_legendre_H3d_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 legendre_H3d_array :: CInt -> Double -> Double -> Ptr Double -> CInt
 legendre_H3d_array = gsl_sf_legendre_H3d_array
 foreign import ccall "gsl_sf_legendre_H3d_array" gsl_sf_legendre_H3d_array :: CInt -> Double -> Double -> Ptr Double -> CInt
diff --git a/lib/Numeric/GSL/Special/Log.hs b/lib/Numeric/GSL/Special/Log.hs
--- a/lib/Numeric/GSL/Special/Log.hs
+++ b/lib/Numeric/GSL/Special/Log.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Log
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_log.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Log
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_log.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Log(
@@ -28,66 +26,30 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_log_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_log_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log_e :: Double -> (Double,Double)
 log_e x = createSFR "log_e" $ gsl_sf_log_e x
 foreign import ccall "gsl_sf_log_e" gsl_sf_log_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_log(double x);
---
---   <http://www.google.com/search?q=gsl_sf_log&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log :: Double -> Double
 log = gsl_sf_log
 foreign import ccall "gsl_sf_log" gsl_sf_log :: Double -> Double
-
--- | wrapper for int gsl_sf_log_abs_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_log_abs_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log_abs_e :: Double -> (Double,Double)
 log_abs_e x = createSFR "log_abs_e" $ gsl_sf_log_abs_e x
 foreign import ccall "gsl_sf_log_abs_e" gsl_sf_log_abs_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_log_abs(double x);
---
---   <http://www.google.com/search?q=gsl_sf_log_abs&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log_abs :: Double -> Double
 log_abs = gsl_sf_log_abs
 foreign import ccall "gsl_sf_log_abs" gsl_sf_log_abs :: Double -> Double
-
--- | wrapper for int gsl_sf_complex_log_e(double zr,double zi,gsl_sf_result* lnr,gsl_sf_result* theta);
---
---   <http://www.google.com/search?q=gsl_sf_complex_log_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 complex_log_e :: Double -> Double -> Ptr () -> (Double,Double)
 complex_log_e zr zi lnr = createSFR "complex_log_e" $ gsl_sf_complex_log_e zr zi lnr
 foreign import ccall "gsl_sf_complex_log_e" gsl_sf_complex_log_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_log_1plusx_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_log_1plusx_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log_1plusx_e :: Double -> (Double,Double)
 log_1plusx_e x = createSFR "log_1plusx_e" $ gsl_sf_log_1plusx_e x
 foreign import ccall "gsl_sf_log_1plusx_e" gsl_sf_log_1plusx_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_log_1plusx(double x);
---
---   <http://www.google.com/search?q=gsl_sf_log_1plusx&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log_1plusx :: Double -> Double
 log_1plusx = gsl_sf_log_1plusx
 foreign import ccall "gsl_sf_log_1plusx" gsl_sf_log_1plusx :: Double -> Double
-
--- | wrapper for int gsl_sf_log_1plusx_mx_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_log_1plusx_mx_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log_1plusx_mx_e :: Double -> (Double,Double)
 log_1plusx_mx_e x = createSFR "log_1plusx_mx_e" $ gsl_sf_log_1plusx_mx_e x
 foreign import ccall "gsl_sf_log_1plusx_mx_e" gsl_sf_log_1plusx_mx_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_log_1plusx_mx(double x);
---
---   <http://www.google.com/search?q=gsl_sf_log_1plusx_mx&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 log_1plusx_mx :: Double -> Double
 log_1plusx_mx = gsl_sf_log_1plusx_mx
 foreign import ccall "gsl_sf_log_1plusx_mx" gsl_sf_log_1plusx_mx :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Pow_int.hs b/lib/Numeric/GSL/Special/Pow_int.hs
--- a/lib/Numeric/GSL/Special/Pow_int.hs
+++ b/lib/Numeric/GSL/Special/Pow_int.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Pow_int
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_pow_int.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Pow_int
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_pow_int.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Pow_int(
@@ -22,17 +20,9 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_pow_int_e(double x,int n,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_pow_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 pow_int_e :: Double -> CInt -> (Double,Double)
 pow_int_e x n = createSFR "pow_int_e" $ gsl_sf_pow_int_e x n
 foreign import ccall "gsl_sf_pow_int_e" gsl_sf_pow_int_e :: Double -> CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_pow_int(double x,int n);
---
---   <http://www.google.com/search?q=gsl_sf_pow_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 pow_int :: Double -> CInt -> Double
 pow_int = gsl_sf_pow_int
 foreign import ccall "gsl_sf_pow_int" gsl_sf_pow_int :: Double -> CInt -> Double
diff --git a/lib/Numeric/GSL/Special/Psi.hs b/lib/Numeric/GSL/Special/Psi.hs
--- a/lib/Numeric/GSL/Special/Psi.hs
+++ b/lib/Numeric/GSL/Special/Psi.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Psi
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_psi.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Psi
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_psi.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Psi(
@@ -32,94 +30,42 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_psi_int_e(int n,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_psi_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_int_e :: CInt -> (Double,Double)
 psi_int_e n = createSFR "psi_int_e" $ gsl_sf_psi_int_e n
 foreign import ccall "gsl_sf_psi_int_e" gsl_sf_psi_int_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_psi_int(int n);
---
---   <http://www.google.com/search?q=gsl_sf_psi_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_int :: CInt -> Double
 psi_int = gsl_sf_psi_int
 foreign import ccall "gsl_sf_psi_int" gsl_sf_psi_int :: CInt -> Double
-
--- | wrapper for int gsl_sf_psi_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_psi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_e :: Double -> (Double,Double)
 psi_e x = createSFR "psi_e" $ gsl_sf_psi_e x
 foreign import ccall "gsl_sf_psi_e" gsl_sf_psi_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_psi(double x);
---
---   <http://www.google.com/search?q=gsl_sf_psi&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi :: Double -> Double
 psi = gsl_sf_psi
 foreign import ccall "gsl_sf_psi" gsl_sf_psi :: Double -> Double
-
--- | wrapper for int gsl_sf_psi_1piy_e(double y,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_psi_1piy_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_1piy_e :: Double -> (Double,Double)
 psi_1piy_e y = createSFR "psi_1piy_e" $ gsl_sf_psi_1piy_e y
 foreign import ccall "gsl_sf_psi_1piy_e" gsl_sf_psi_1piy_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_psi_1piy(double y);
---
---   <http://www.google.com/search?q=gsl_sf_psi_1piy&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_1piy :: Double -> Double
 psi_1piy = gsl_sf_psi_1piy
 foreign import ccall "gsl_sf_psi_1piy" gsl_sf_psi_1piy :: Double -> Double
-
--- | wrapper for int gsl_sf_complex_psi_e(double x,double y,gsl_sf_result* result_re,gsl_sf_result* result_im);
---
---   <http://www.google.com/search?q=gsl_sf_complex_psi_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 complex_psi_e :: Double -> Double -> Ptr () -> (Double,Double)
 complex_psi_e x y result_re = createSFR "complex_psi_e" $ gsl_sf_complex_psi_e x y result_re
 foreign import ccall "gsl_sf_complex_psi_e" gsl_sf_complex_psi_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_psi_1_int_e(int n,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_psi_1_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_1_int_e :: CInt -> (Double,Double)
 psi_1_int_e n = createSFR "psi_1_int_e" $ gsl_sf_psi_1_int_e n
 foreign import ccall "gsl_sf_psi_1_int_e" gsl_sf_psi_1_int_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_psi_1_int(int n);
---
---   <http://www.google.com/search?q=gsl_sf_psi_1_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_1_int :: CInt -> Double
 psi_1_int = gsl_sf_psi_1_int
 foreign import ccall "gsl_sf_psi_1_int" gsl_sf_psi_1_int :: CInt -> Double
-
--- | wrapper for int gsl_sf_psi_1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_psi_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_1_e :: Double -> (Double,Double)
 psi_1_e x = createSFR "psi_1_e" $ gsl_sf_psi_1_e x
 foreign import ccall "gsl_sf_psi_1_e" gsl_sf_psi_1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_psi_1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_psi_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_1 :: Double -> Double
 psi_1 = gsl_sf_psi_1
 foreign import ccall "gsl_sf_psi_1" gsl_sf_psi_1 :: Double -> Double
-
--- | wrapper for int gsl_sf_psi_n_e(int n,double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_psi_n_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_n_e :: CInt -> Double -> (Double,Double)
 psi_n_e n x = createSFR "psi_n_e" $ gsl_sf_psi_n_e n x
 foreign import ccall "gsl_sf_psi_n_e" gsl_sf_psi_n_e :: CInt -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_psi_n(int n,double x);
---
---   <http://www.google.com/search?q=gsl_sf_psi_n&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 psi_n :: CInt -> Double -> Double
 psi_n = gsl_sf_psi_n
 foreign import ccall "gsl_sf_psi_n" gsl_sf_psi_n :: CInt -> Double -> Double
diff --git a/lib/Numeric/GSL/Special/Synchrotron.hs b/lib/Numeric/GSL/Special/Synchrotron.hs
--- a/lib/Numeric/GSL/Special/Synchrotron.hs
+++ b/lib/Numeric/GSL/Special/Synchrotron.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Synchrotron
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_synchrotron.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Synchrotron
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_synchrotron.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Synchrotron(
@@ -24,31 +22,15 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_synchrotron_1_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_synchrotron_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 synchrotron_1_e :: Double -> (Double,Double)
 synchrotron_1_e x = createSFR "synchrotron_1_e" $ gsl_sf_synchrotron_1_e x
 foreign import ccall "gsl_sf_synchrotron_1_e" gsl_sf_synchrotron_1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_synchrotron_1(double x);
---
---   <http://www.google.com/search?q=gsl_sf_synchrotron_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 synchrotron_1 :: Double -> Double
 synchrotron_1 = gsl_sf_synchrotron_1
 foreign import ccall "gsl_sf_synchrotron_1" gsl_sf_synchrotron_1 :: Double -> Double
-
--- | wrapper for int gsl_sf_synchrotron_2_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_synchrotron_2_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 synchrotron_2_e :: Double -> (Double,Double)
 synchrotron_2_e x = createSFR "synchrotron_2_e" $ gsl_sf_synchrotron_2_e x
 foreign import ccall "gsl_sf_synchrotron_2_e" gsl_sf_synchrotron_2_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_synchrotron_2(double x);
---
---   <http://www.google.com/search?q=gsl_sf_synchrotron_2&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 synchrotron_2 :: Double -> Double
 synchrotron_2 = gsl_sf_synchrotron_2
 foreign import ccall "gsl_sf_synchrotron_2" gsl_sf_synchrotron_2 :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Transport.hs b/lib/Numeric/GSL/Special/Transport.hs
new file mode 100644
--- /dev/null
+++ b/lib/Numeric/GSL/Special/Transport.hs
@@ -0,0 +1,52 @@
+------------------------------------------------------------
+-- |
+-- Module      :  Numeric.GSL.Special.Transport
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_transport.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
+------------------------------------------------------------
+
+module Numeric.GSL.Special.Transport(
+  transport_2_e
+, transport_2
+, transport_3_e
+, transport_3
+, transport_4_e
+, transport_4
+, transport_5_e
+, transport_5
+) where
+
+import Foreign(Ptr)
+import Foreign.C.Types(CInt)
+import Numeric.GSL.Special.Internal
+transport_2_e :: Double -> (Double,Double)
+transport_2_e x = createSFR "transport_2_e" $ gsl_sf_transport_2_e x
+foreign import ccall "gsl_sf_transport_2_e" gsl_sf_transport_2_e :: Double -> Ptr () -> IO CInt
+transport_2 :: Double -> Double
+transport_2 = gsl_sf_transport_2
+foreign import ccall "gsl_sf_transport_2" gsl_sf_transport_2 :: Double -> Double
+transport_3_e :: Double -> (Double,Double)
+transport_3_e x = createSFR "transport_3_e" $ gsl_sf_transport_3_e x
+foreign import ccall "gsl_sf_transport_3_e" gsl_sf_transport_3_e :: Double -> Ptr () -> IO CInt
+transport_3 :: Double -> Double
+transport_3 = gsl_sf_transport_3
+foreign import ccall "gsl_sf_transport_3" gsl_sf_transport_3 :: Double -> Double
+transport_4_e :: Double -> (Double,Double)
+transport_4_e x = createSFR "transport_4_e" $ gsl_sf_transport_4_e x
+foreign import ccall "gsl_sf_transport_4_e" gsl_sf_transport_4_e :: Double -> Ptr () -> IO CInt
+transport_4 :: Double -> Double
+transport_4 = gsl_sf_transport_4
+foreign import ccall "gsl_sf_transport_4" gsl_sf_transport_4 :: Double -> Double
+transport_5_e :: Double -> (Double,Double)
+transport_5_e x = createSFR "transport_5_e" $ gsl_sf_transport_5_e x
+foreign import ccall "gsl_sf_transport_5_e" gsl_sf_transport_5_e :: Double -> Ptr () -> IO CInt
+transport_5 :: Double -> Double
+transport_5 = gsl_sf_transport_5
+foreign import ccall "gsl_sf_transport_5" gsl_sf_transport_5 :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Trig.hs b/lib/Numeric/GSL/Special/Trig.hs
--- a/lib/Numeric/GSL/Special/Trig.hs
+++ b/lib/Numeric/GSL/Special/Trig.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Trig
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_trig.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Trig
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_trig.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Trig(
@@ -38,178 +36,78 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_sin_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_sin_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 sin_e :: Double -> (Double,Double)
 sin_e x = createSFR "sin_e" $ gsl_sf_sin_e x
 foreign import ccall "gsl_sf_sin_e" gsl_sf_sin_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_sin(double x);
---
---   <http://www.google.com/search?q=gsl_sf_sin&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 sin :: Double -> Double
 sin = gsl_sf_sin
 foreign import ccall "gsl_sf_sin" gsl_sf_sin :: Double -> Double
-
--- | wrapper for int gsl_sf_cos_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_cos_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 cos_e :: Double -> (Double,Double)
 cos_e x = createSFR "cos_e" $ gsl_sf_cos_e x
 foreign import ccall "gsl_sf_cos_e" gsl_sf_cos_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_cos(double x);
---
---   <http://www.google.com/search?q=gsl_sf_cos&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 cos :: Double -> Double
 cos = gsl_sf_cos
 foreign import ccall "gsl_sf_cos" gsl_sf_cos :: Double -> Double
-
--- | wrapper for int gsl_sf_hypot_e(double x,double y,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hypot_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hypot_e :: Double -> Double -> (Double,Double)
 hypot_e x y = createSFR "hypot_e" $ gsl_sf_hypot_e x y
 foreign import ccall "gsl_sf_hypot_e" gsl_sf_hypot_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hypot(double x,double y);
---
---   <http://www.google.com/search?q=gsl_sf_hypot&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hypot :: Double -> Double -> Double
 hypot = gsl_sf_hypot
 foreign import ccall "gsl_sf_hypot" gsl_sf_hypot :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_complex_sin_e(double zr,double zi,gsl_sf_result* szr,gsl_sf_result* szi);
---
---   <http://www.google.com/search?q=gsl_sf_complex_sin_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 complex_sin_e :: Double -> Double -> Ptr () -> (Double,Double)
 complex_sin_e zr zi szr = createSFR "complex_sin_e" $ gsl_sf_complex_sin_e zr zi szr
 foreign import ccall "gsl_sf_complex_sin_e" gsl_sf_complex_sin_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_complex_cos_e(double zr,double zi,gsl_sf_result* czr,gsl_sf_result* czi);
---
---   <http://www.google.com/search?q=gsl_sf_complex_cos_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 complex_cos_e :: Double -> Double -> Ptr () -> (Double,Double)
 complex_cos_e zr zi czr = createSFR "complex_cos_e" $ gsl_sf_complex_cos_e zr zi czr
 foreign import ccall "gsl_sf_complex_cos_e" gsl_sf_complex_cos_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_complex_logsin_e(double zr,double zi,gsl_sf_result* lszr,gsl_sf_result* lszi);
---
---   <http://www.google.com/search?q=gsl_sf_complex_logsin_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 complex_logsin_e :: Double -> Double -> Ptr () -> (Double,Double)
 complex_logsin_e zr zi lszr = createSFR "complex_logsin_e" $ gsl_sf_complex_logsin_e zr zi lszr
 foreign import ccall "gsl_sf_complex_logsin_e" gsl_sf_complex_logsin_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_sinc_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_sinc_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 sinc_e :: Double -> (Double,Double)
 sinc_e x = createSFR "sinc_e" $ gsl_sf_sinc_e x
 foreign import ccall "gsl_sf_sinc_e" gsl_sf_sinc_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_sinc(double x);
---
---   <http://www.google.com/search?q=gsl_sf_sinc&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 sinc :: Double -> Double
 sinc = gsl_sf_sinc
 foreign import ccall "gsl_sf_sinc" gsl_sf_sinc :: Double -> Double
-
--- | wrapper for int gsl_sf_lnsinh_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lnsinh_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnsinh_e :: Double -> (Double,Double)
 lnsinh_e x = createSFR "lnsinh_e" $ gsl_sf_lnsinh_e x
 foreign import ccall "gsl_sf_lnsinh_e" gsl_sf_lnsinh_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lnsinh(double x);
---
---   <http://www.google.com/search?q=gsl_sf_lnsinh&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lnsinh :: Double -> Double
 lnsinh = gsl_sf_lnsinh
 foreign import ccall "gsl_sf_lnsinh" gsl_sf_lnsinh :: Double -> Double
-
--- | wrapper for int gsl_sf_lncosh_e(double x,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_lncosh_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lncosh_e :: Double -> (Double,Double)
 lncosh_e x = createSFR "lncosh_e" $ gsl_sf_lncosh_e x
 foreign import ccall "gsl_sf_lncosh_e" gsl_sf_lncosh_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_lncosh(double x);
---
---   <http://www.google.com/search?q=gsl_sf_lncosh&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 lncosh :: Double -> Double
 lncosh = gsl_sf_lncosh
 foreign import ccall "gsl_sf_lncosh" gsl_sf_lncosh :: Double -> Double
-
--- | wrapper for int gsl_sf_polar_to_rect(double r,double theta,gsl_sf_result* x,gsl_sf_result* y);
---
---   <http://www.google.com/search?q=gsl_sf_polar_to_rect&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 polar_to_rect :: Double -> Double -> Ptr () -> (Double,Double)
 polar_to_rect r theta x = createSFR "polar_to_rect" $ gsl_sf_polar_to_rect r theta x
 foreign import ccall "gsl_sf_polar_to_rect" gsl_sf_polar_to_rect :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_rect_to_polar(double x,double y,gsl_sf_result* r,gsl_sf_result* theta);
---
---   <http://www.google.com/search?q=gsl_sf_rect_to_polar&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 rect_to_polar :: Double -> Double -> Ptr () -> (Double,Double)
 rect_to_polar x y r = createSFR "rect_to_polar" $ gsl_sf_rect_to_polar x y r
 foreign import ccall "gsl_sf_rect_to_polar" gsl_sf_rect_to_polar :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_sin_err_e(double x,double dx,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_sin_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 sin_err_e :: Double -> Double -> (Double,Double)
 sin_err_e x dx = createSFR "sin_err_e" $ gsl_sf_sin_err_e x dx
 foreign import ccall "gsl_sf_sin_err_e" gsl_sf_sin_err_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_cos_err_e(double x,double dx,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_cos_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 cos_err_e :: Double -> Double -> (Double,Double)
 cos_err_e x dx = createSFR "cos_err_e" $ gsl_sf_cos_err_e x dx
 foreign import ccall "gsl_sf_cos_err_e" gsl_sf_cos_err_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_angle_restrict_symm_e(double* theta);
---
---   <http://www.google.com/search?q=gsl_sf_angle_restrict_symm_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 angle_restrict_symm_e :: Ptr Double -> CInt
 angle_restrict_symm_e = gsl_sf_angle_restrict_symm_e
 foreign import ccall "gsl_sf_angle_restrict_symm_e" gsl_sf_angle_restrict_symm_e :: Ptr Double -> CInt
-
--- | wrapper for double gsl_sf_angle_restrict_symm(double theta);
---
---   <http://www.google.com/search?q=gsl_sf_angle_restrict_symm&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 angle_restrict_symm :: Double -> Double
 angle_restrict_symm = gsl_sf_angle_restrict_symm
 foreign import ccall "gsl_sf_angle_restrict_symm" gsl_sf_angle_restrict_symm :: Double -> Double
-
--- | wrapper for int gsl_sf_angle_restrict_pos_e(double* theta);
---
---   <http://www.google.com/search?q=gsl_sf_angle_restrict_pos_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 angle_restrict_pos_e :: Ptr Double -> CInt
 angle_restrict_pos_e = gsl_sf_angle_restrict_pos_e
 foreign import ccall "gsl_sf_angle_restrict_pos_e" gsl_sf_angle_restrict_pos_e :: Ptr Double -> CInt
-
--- | wrapper for double gsl_sf_angle_restrict_pos(double theta);
---
---   <http://www.google.com/search?q=gsl_sf_angle_restrict_pos&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 angle_restrict_pos :: Double -> Double
 angle_restrict_pos = gsl_sf_angle_restrict_pos
 foreign import ccall "gsl_sf_angle_restrict_pos" gsl_sf_angle_restrict_pos :: Double -> Double
-
--- | wrapper for int gsl_sf_angle_restrict_symm_err_e(double theta,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_angle_restrict_symm_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 angle_restrict_symm_err_e :: Double -> (Double,Double)
 angle_restrict_symm_err_e theta = createSFR "angle_restrict_symm_err_e" $ gsl_sf_angle_restrict_symm_err_e theta
 foreign import ccall "gsl_sf_angle_restrict_symm_err_e" gsl_sf_angle_restrict_symm_err_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for int gsl_sf_angle_restrict_pos_err_e(double theta,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_angle_restrict_pos_err_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 angle_restrict_pos_err_e :: Double -> (Double,Double)
 angle_restrict_pos_err_e theta = createSFR "angle_restrict_pos_err_e" $ gsl_sf_angle_restrict_pos_err_e theta
 foreign import ccall "gsl_sf_angle_restrict_pos_err_e" gsl_sf_angle_restrict_pos_err_e :: Double -> Ptr () -> IO CInt
diff --git a/lib/Numeric/GSL/Special/Zeta.hs b/lib/Numeric/GSL/Special/Zeta.hs
--- a/lib/Numeric/GSL/Special/Zeta.hs
+++ b/lib/Numeric/GSL/Special/Zeta.hs
@@ -1,17 +1,15 @@
 ------------------------------------------------------------
-{- |
-Module      :  Numeric.GSL.Special.Zeta
-Copyright   :  (c) Alberto Ruiz 2006
-License     :  GPL-style
-Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-Stability   :  provisional
-Portability :  uses ffi
-
-Wrappers for selected functions described at:
-
-<http://www.google.com/search?q=gsl_sf_zeta.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
-
--}
+-- |
+-- Module      :  Numeric.GSL.Special.Zeta
+-- Copyright   :  (c) Alberto Ruiz 2006
+-- License     :  GPL
+-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
+-- Stability   :  provisional
+-- Portability :  uses ffi
+--
+-- Wrappers for selected functions described at:
+--
+-- <http://www.google.com/search?q=gsl_sf_zeta.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 ------------------------------------------------------------
 
 module Numeric.GSL.Special.Zeta(
@@ -34,101 +32,45 @@
 import Foreign(Ptr)
 import Foreign.C.Types(CInt)
 import Numeric.GSL.Special.Internal
-
--- | wrapper for int gsl_sf_zeta_int_e(int n,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_zeta_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 zeta_int_e :: CInt -> (Double,Double)
 zeta_int_e n = createSFR "zeta_int_e" $ gsl_sf_zeta_int_e n
 foreign import ccall "gsl_sf_zeta_int_e" gsl_sf_zeta_int_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_zeta_int(int n);
---
---   <http://www.google.com/search?q=gsl_sf_zeta_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 zeta_int :: CInt -> Double
 zeta_int = gsl_sf_zeta_int
 foreign import ccall "gsl_sf_zeta_int" gsl_sf_zeta_int :: CInt -> Double
-
--- | wrapper for int gsl_sf_zeta_e(double s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_zeta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 zeta_e :: Double -> (Double,Double)
 zeta_e s = createSFR "zeta_e" $ gsl_sf_zeta_e s
 foreign import ccall "gsl_sf_zeta_e" gsl_sf_zeta_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_zeta(double s);
---
---   <http://www.google.com/search?q=gsl_sf_zeta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 zeta :: Double -> Double
 zeta = gsl_sf_zeta
 foreign import ccall "gsl_sf_zeta" gsl_sf_zeta :: Double -> Double
-
--- | wrapper for int gsl_sf_zetam1_e(double s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_zetam1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 zetam1_e :: Double -> (Double,Double)
 zetam1_e s = createSFR "zetam1_e" $ gsl_sf_zetam1_e s
 foreign import ccall "gsl_sf_zetam1_e" gsl_sf_zetam1_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_zetam1(double s);
---
---   <http://www.google.com/search?q=gsl_sf_zetam1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 zetam1 :: Double -> Double
 zetam1 = gsl_sf_zetam1
 foreign import ccall "gsl_sf_zetam1" gsl_sf_zetam1 :: Double -> Double
-
--- | wrapper for int gsl_sf_zetam1_int_e(int s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_zetam1_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 zetam1_int_e :: CInt -> (Double,Double)
 zetam1_int_e s = createSFR "zetam1_int_e" $ gsl_sf_zetam1_int_e s
 foreign import ccall "gsl_sf_zetam1_int_e" gsl_sf_zetam1_int_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_zetam1_int(int s);
---
---   <http://www.google.com/search?q=gsl_sf_zetam1_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 zetam1_int :: CInt -> Double
 zetam1_int = gsl_sf_zetam1_int
 foreign import ccall "gsl_sf_zetam1_int" gsl_sf_zetam1_int :: CInt -> Double
-
--- | wrapper for int gsl_sf_hzeta_e(double s,double q,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_hzeta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hzeta_e :: Double -> Double -> (Double,Double)
 hzeta_e s q = createSFR "hzeta_e" $ gsl_sf_hzeta_e s q
 foreign import ccall "gsl_sf_hzeta_e" gsl_sf_hzeta_e :: Double -> Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_hzeta(double s,double q);
---
---   <http://www.google.com/search?q=gsl_sf_hzeta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 hzeta :: Double -> Double -> Double
 hzeta = gsl_sf_hzeta
 foreign import ccall "gsl_sf_hzeta" gsl_sf_hzeta :: Double -> Double -> Double
-
--- | wrapper for int gsl_sf_eta_int_e(int n,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_eta_int_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 eta_int_e :: CInt -> (Double,Double)
 eta_int_e n = createSFR "eta_int_e" $ gsl_sf_eta_int_e n
 foreign import ccall "gsl_sf_eta_int_e" gsl_sf_eta_int_e :: CInt -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_eta_int(int n);
---
---   <http://www.google.com/search?q=gsl_sf_eta_int&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 eta_int :: CInt -> Double
 eta_int = gsl_sf_eta_int
 foreign import ccall "gsl_sf_eta_int" gsl_sf_eta_int :: CInt -> Double
-
--- | wrapper for int gsl_sf_eta_e(double s,gsl_sf_result* result);
---
---   <http://www.google.com/search?q=gsl_sf_eta_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 eta_e :: Double -> (Double,Double)
 eta_e s = createSFR "eta_e" $ gsl_sf_eta_e s
 foreign import ccall "gsl_sf_eta_e" gsl_sf_eta_e :: Double -> Ptr () -> IO CInt
-
--- | wrapper for double gsl_sf_eta(double s);
---
---   <http://www.google.com/search?q=gsl_sf_eta&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
 eta :: Double -> Double
 eta = gsl_sf_eta
 foreign import ccall "gsl_sf_eta" gsl_sf_eta :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/auto.hs b/lib/Numeric/GSL/Special/auto.hs
--- a/lib/Numeric/GSL/Special/auto.hs
+++ b/lib/Numeric/GSL/Special/auto.hs
@@ -67,23 +67,26 @@
                 ++"import Numeric.GSL.Special.Internal\n"
     let mod = modhead name ++ "module Numeric.GSL.Special."++ upperFirst name++exports++imports++defs
     writeFile (upperFirst name ++ ".hs") mod
+--     appendFile "funs.txt" $ rep ("(\n ","-- * "
+--                                      ++map toUpper name
+--                                 --   ++"\n"++google ( "gsl_sf_"++name++".h")++"\n"
+--                                      ++"\n,") $ rep (") where","") $ exports
 
 
 google name = "<http://www.google.com/search?q="
                ++name
                ++"&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>"
 
-modhead name = replicate 60 '-' ++ "\n"
-             ++"{- |\n"
-             ++"Module      :  Numeric.GSL.Special."++upperFirst name++"\n"
-             ++"Copyright   :  (c) Alberto Ruiz 2006\n"
-             ++"License     :  GPL-style\n"
-             ++"Maintainer  :  Alberto Ruiz (aruiz at um dot es)\n"
-             ++"Stability   :  provisional\n"
-             ++"Portability :  uses ffi\n"
-             ++"\nWrappers for selected functions described at:\n\n"
-             ++ google ( "gsl_sf_"++name++".h")
-             ++"\n\n-}\n"
+modhead name = replicate 60 '-' ++ "\n-- |\n"
+             ++"-- Module      :  Numeric.GSL.Special."++upperFirst name++"\n"
+             ++"-- Copyright   :  (c) Alberto Ruiz 2006\n"
+             ++"-- License     :  GPL\n"
+             ++"-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)\n"
+             ++"-- Stability   :  provisional\n"
+             ++"-- Portability :  uses ffi\n"
+             ++"--\n"
+             ++"-- Wrappers for selected functions described at:\n--\n-- "
+             ++ google ( "gsl_sf_"++name++".h")++"\n"
              ++ replicate 60 '-' ++ "\n\n"
 
 upperFirst (x:xs) = toUpper x : xs
@@ -194,10 +197,11 @@
 
 showHa (t,a) = showHt t
 
-showFull hc h@(Header t n args) = "\n-- | wrapper for "++showC h
-                                ++"\n--\n--   "++google n ++"\n"
-                                ++ boiler h ++"\n" 
-                                ++showH hc h 
+showFull hc h@(Header t n args) = -- "\n-- | wrapper for "++showC h
+                                  --   ++"\n--\n--   "++google n ++"\n"
+                                  -- ++ "\n" ++
+                                  boiler h ++ "\n" ++
+                                  showH hc h
 
 fixmd1 = rep ("Gsl_mode_t","Precision")
 fixmd2 = rep ("mode"," (precCode mode)")
diff --git a/lib/Numeric/GSL/Special/autoall.sh b/lib/Numeric/GSL/Special/autoall.sh
--- a/lib/Numeric/GSL/Special/autoall.sh
+++ b/lib/Numeric/GSL/Special/autoall.sh
@@ -5,6 +5,7 @@
     cp /tmp/tmp-rep $3
 }
 
+rm -f funs.txt
 
 ./auto.hs airy
 rep ') where' ', Precision(..)\n) where' Airy.hs
@@ -18,6 +19,7 @@
 ./auto.hs dilog
 ./auto.hs elementary
 ./auto.hs ellint
+#./auto.hs elljac
 ./auto.hs erf
 ./auto.hs exp
 rep ', exp\n' ', Numeric.GSL.Special.Exp.exp\n' Exp.hs
@@ -29,12 +31,14 @@
 ./auto.hs hyperg
 ./auto.hs laguerre
 ./auto.hs lambert
-./auto.hs legendre gsl_sf_legendre.h
+./auto.hs legendre
 ./auto.hs log
 rep ', log\n' ', Numeric.GSL.Special.Log.log\n' Log.hs
+#./auto.hs mathieu
 ./auto.hs pow_int
 ./auto.hs psi
 ./auto.hs synchrotron
+./auto.hs transport
 ./auto.hs trig
 rep ', sin\n' ', Numeric.GSL.Special.Trig.sin\n' Trig.hs
 rep ', cos\n' ', Numeric.GSL.Special.Trig.cos\n' Trig.hs
diff --git a/lib/Numeric/GSL/Special/gsl_sf_legendre.h b/lib/Numeric/GSL/Special/gsl_sf_legendre.h
deleted file mode 100644
--- a/lib/Numeric/GSL/Special/gsl_sf_legendre.h
+++ /dev/null
@@ -1,319 +0,0 @@
-/* specfunc/gsl_sf_legendre.h
- * 
- * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004 Gerard Jungman
- * 
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- * 
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-/* Author:  G. Jungman */
-
-#ifndef __GSL_SF_LEGENDRE_H__
-#define __GSL_SF_LEGENDRE_H__
-
-#include <gsl/gsl_sf_result.h>
-
-#undef __BEGIN_DECLS
-#undef __END_DECLS
-#ifdef __cplusplus
-# define __BEGIN_DECLS extern "C" {
-# define __END_DECLS }
-#else
-# define __BEGIN_DECLS /* empty */
-# define __END_DECLS /* empty */
-#endif
-
-__BEGIN_DECLS
-
-
-/* P_l(x)   l >= 0; |x| <= 1
- *
- * exceptions: GSL_EDOM
- */
-int     gsl_sf_legendre_Pl_e(const int l, const double x, gsl_sf_result * result);
-double  gsl_sf_legendre_Pl(const int l, const double x);
-
-
-/* P_l(x) for l=0,...,lmax; |x| <= 1
- *
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_Pl_array(
-  const int lmax, const double x,
-  double * result_array
-  );
-
-
-/* P_l(x) and P_l'(x) for l=0,...,lmax; |x| <= 1
- *
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_Pl_deriv_array(
-  const int lmax, const double x,
-  double * result_array,
-  double * result_deriv_array
-  );
-
-
-/* P_l(x), l=1,2,3
- *
- * exceptions: none
- */
-int gsl_sf_legendre_P1_e(double x, gsl_sf_result * result);
-int gsl_sf_legendre_P2_e(double x, gsl_sf_result * result);
-int gsl_sf_legendre_P3_e(double x, gsl_sf_result * result);
-double gsl_sf_legendre_P1(const double x);
-double gsl_sf_legendre_P2(const double x);
-double gsl_sf_legendre_P3(const double x);
-
-
-/* Q_0(x), x > -1, x != 1
- *
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_Q0_e(const double x, gsl_sf_result * result);
-double gsl_sf_legendre_Q0(const double x);
-
-
-/* Q_1(x), x > -1, x != 1
- *
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_Q1_e(const double x, gsl_sf_result * result);
-double gsl_sf_legendre_Q1(const double x);
-
-
-/* Q_l(x), x > -1, x != 1, l >= 0
- *
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_Ql_e(const int l, const double x, gsl_sf_result * result);
-double gsl_sf_legendre_Ql(const int l, const double x);
-
-
-/* P_l^m(x)  m >= 0; l >= m; |x| <= 1.0
- *
- * Note that this function grows combinatorially with l.
- * Therefore we can easily generate an overflow for l larger
- * than about 150.
- *
- * There is no trouble for small m, but when m and l are both large,
- * then there will be trouble. Rather than allow overflows, these
- * functions refuse to calculate when they can sense that l and m are
- * too big.
- *
- * If you really want to calculate a spherical harmonic, then DO NOT
- * use this. Instead use legendre_sphPlm() below, which  uses a similar
- * recursion, but with the normalized functions.
- *
- * exceptions: GSL_EDOM, GSL_EOVRFLW
- */
-int     gsl_sf_legendre_Plm_e(const int l, const int m, const double x, gsl_sf_result * result);
-double  gsl_sf_legendre_Plm(const int l, const int m, const double x);
-
-
-/* P_l^m(x)  m >= 0; l >= m; |x| <= 1.0
- * l=|m|,...,lmax
- *
- * exceptions: GSL_EDOM, GSL_EOVRFLW
- */
-int gsl_sf_legendre_Plm_array(
-  const int lmax, const int m, const double x,
-  double * result_array
-  );
-
-
-/* P_l^m(x)  and d(P_l^m(x))/dx;  m >= 0; lmax >= m; |x| <= 1.0
- * l=|m|,...,lmax
- *
- * exceptions: GSL_EDOM, GSL_EOVRFLW
- */
-int gsl_sf_legendre_Plm_deriv_array(
-  const int lmax, const int m, const double x,
-  double * result_array,
-  double * result_deriv_array
-  );
-
-
-/* P_l^m(x), normalized properly for use in spherical harmonics
- * m >= 0; l >= m; |x| <= 1.0
- *
- * There is no overflow problem, as there is for the
- * standard normalization of P_l^m(x).
- *
- * Specifically, it returns:
- *
- *        sqrt((2l+1)/(4pi)) sqrt((l-m)!/(l+m)!) P_l^m(x)
- *
- * exceptions: GSL_EDOM
- */
-int     gsl_sf_legendre_sphPlm_e(const int l, int m, const double x, gsl_sf_result * result);
-double  gsl_sf_legendre_sphPlm(const int l, const int m, const double x);
-
-
-/* sphPlm(l,m,x) values
- * m >= 0; l >= m; |x| <= 1.0
- * l=|m|,...,lmax
- *
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_sphPlm_array(
-  const int lmax, int m, const double x,
-  double * result_array
-  );
-
-
-/* sphPlm(l,m,x) and d(sphPlm(l,m,x))/dx values
- * m >= 0; l >= m; |x| <= 1.0
- * l=|m|,...,lmax
- *
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_sphPlm_deriv_array(
-  const int lmax, const int m, const double x,
-  double * result_array,
-  double * result_deriv_array
-  );
-
-
-
-/* size of result_array[] needed for the array versions of Plm
- * (lmax - m + 1)
- */
-int gsl_sf_legendre_array_size(const int lmax, const int m);
-
-
-/* Irregular Spherical Conical Function
- * P^{1/2}_{-1/2 + I lambda}(x)
- *
- * x > -1.0
- * exceptions: GSL_EDOM
- */
-int gsl_sf_conicalP_half_e(const double lambda, const double x, gsl_sf_result * result);
-double gsl_sf_conicalP_half(const double lambda, const double x);
-
-
-/* Regular Spherical Conical Function
- * P^{-1/2}_{-1/2 + I lambda}(x)
- *
- * x > -1.0
- * exceptions: GSL_EDOM
- */
-int gsl_sf_conicalP_mhalf_e(const double lambda, const double x, gsl_sf_result * result);
-double gsl_sf_conicalP_mhalf(const double lambda, const double x);
-
-
-/* Conical Function
- * P^{0}_{-1/2 + I lambda}(x)
- *
- * x > -1.0
- * exceptions: GSL_EDOM
- */
-int gsl_sf_conicalP_0_e(const double lambda, const double x, gsl_sf_result * result);
-double gsl_sf_conicalP_0(const double lambda, const double x);
-
-
-/* Conical Function
- * P^{1}_{-1/2 + I lambda}(x)
- *
- * x > -1.0
- * exceptions: GSL_EDOM
- */
-int gsl_sf_conicalP_1_e(const double lambda, const double x, gsl_sf_result * result);
-double gsl_sf_conicalP_1(const double lambda, const double x);
-
-
-/* Regular Spherical Conical Function
- * P^{-1/2-l}_{-1/2 + I lambda}(x)
- *
- * x > -1.0, l >= -1
- * exceptions: GSL_EDOM
- */
-int gsl_sf_conicalP_sph_reg_e(const int l, const double lambda, const double x, gsl_sf_result * result);
-double gsl_sf_conicalP_sph_reg(const int l, const double lambda, const double x);
-
-
-/* Regular Cylindrical Conical Function
- * P^{-m}_{-1/2 + I lambda}(x)
- *
- * x > -1.0, m >= -1
- * exceptions: GSL_EDOM
- */
-int gsl_sf_conicalP_cyl_reg_e(const int m, const double lambda, const double x, gsl_sf_result * result);
-double gsl_sf_conicalP_cyl_reg(const int m, const double lambda, const double x);
-
-
-/* The following spherical functions are specializations
- * of Legendre functions which give the regular eigenfunctions
- * of the Laplacian on a 3-dimensional hyperbolic space.
- * Of particular interest is the flat limit, which is
- * Flat-Lim := {lambda->Inf, eta->0, lambda*eta fixed}.
- */
-  
-/* Zeroth radial eigenfunction of the Laplacian on the
- * 3-dimensional hyperbolic space.
- *
- * legendre_H3d_0(lambda,eta) := sin(lambda*eta)/(lambda*sinh(eta))
- * 
- * Normalization:
- * Flat-Lim legendre_H3d_0(lambda,eta) = j_0(lambda*eta)
- *
- * eta >= 0.0
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_H3d_0_e(const double lambda, const double eta, gsl_sf_result * result);
-double gsl_sf_legendre_H3d_0(const double lambda, const double eta);
-
-
-/* First radial eigenfunction of the Laplacian on the
- * 3-dimensional hyperbolic space.
- *
- * legendre_H3d_1(lambda,eta) :=
- *    1/sqrt(lambda^2 + 1) sin(lam eta)/(lam sinh(eta))
- *    (coth(eta) - lambda cot(lambda*eta))
- * 
- * Normalization:
- * Flat-Lim legendre_H3d_1(lambda,eta) = j_1(lambda*eta)
- *
- * eta >= 0.0
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_H3d_1_e(const double lambda, const double eta, gsl_sf_result * result);
-double gsl_sf_legendre_H3d_1(const double lambda, const double eta);
-
-
-/* l'th radial eigenfunction of the Laplacian on the
- * 3-dimensional hyperbolic space.
- *
- * Normalization:
- * Flat-Lim legendre_H3d_l(l,lambda,eta) = j_l(lambda*eta)
- *
- * eta >= 0.0, l >= 0
- * exceptions: GSL_EDOM
- */
-int gsl_sf_legendre_H3d_e(const int l, const double lambda, const double eta, gsl_sf_result * result);
-double gsl_sf_legendre_H3d(const int l, const double lambda, const double eta);
-
-
-/* Array of H3d(ell),  0 <= ell <= lmax
- */
-int gsl_sf_legendre_H3d_array(const int lmax, const double lambda, const double eta, double * result_array);
-
-
-
-
-
-__END_DECLS
-
-#endif /* __GSL_SF_LEGENDRE_H__ */
diff --git a/lib/Numeric/GSL/gsl-aux.c b/lib/Numeric/GSL/gsl-aux.c
--- a/lib/Numeric/GSL/gsl-aux.c
+++ b/lib/Numeric/GSL/gsl-aux.c
@@ -1,4 +1,15 @@
-#include "gsl-aux.h"
+#include <gsl/gsl_complex.h>
+
+#define RVEC(A) int A##n, double*A##p
+#define RMAT(A) int A##r, int A##c, double* A##p
+#define KRVEC(A) int A##n, const double*A##p
+#define KRMAT(A) int A##r, int A##c, const double* A##p
+
+#define CVEC(A) int A##n, gsl_complex*A##p
+#define CMAT(A) int A##r, int A##c, gsl_complex* A##p
+#define KCVEC(A) int A##n, const gsl_complex*A##p
+#define KCMAT(A) int A##r, int A##c, const gsl_complex* A##p
+
 #include <gsl/gsl_blas.h>
 #include <gsl/gsl_math.h>
 #include <gsl/gsl_errno.h>
@@ -8,7 +19,6 @@
 #include <gsl/gsl_poly.h>
 #include <gsl/gsl_multimin.h>
 #include <gsl/gsl_multiroots.h>
-#include <gsl/gsl_complex.h>
 #include <gsl/gsl_complex_math.h>
 #include <string.h>
 #include <stdio.h>
@@ -340,18 +350,69 @@
     OK;
 }
 
-int matrix_fscanf(char*filename, RMAT(a)) {
-    DEBUGMSG("gsl_matrix_fscanf");
-    //printf(filename); printf("\n");
-    DMVIEW(a);
+int vector_fscanf(char*filename, RVEC(a)) {
+    DEBUGMSG("gsl_vector_fscanf");
+    DVVIEW(a);
     FILE * f = fopen(filename,"r");
     CHECK(!f,BAD_FILE);
-    int res = gsl_matrix_fscanf(f, M(a));
+    int res = gsl_vector_fscanf(f,V(a));
     CHECK(res,res);
     fclose (f);
     OK
 }
 
+int vector_fprintf(char*filename, char*fmt, RVEC(a)) {
+    DEBUGMSG("gsl_vector_fprintf");
+    DVVIEW(a);
+    FILE * f = fopen(filename,"w");
+    CHECK(!f,BAD_FILE);
+    int res = gsl_vector_fprintf(f,V(a),fmt);
+    CHECK(res,res);
+    fclose (f);
+    OK
+}
+
+int vector_fread(char*filename, RVEC(a)) {
+    DEBUGMSG("gsl_vector_fread");
+    DVVIEW(a);
+    FILE * f = fopen(filename,"r");
+    CHECK(!f,BAD_FILE);
+    int res = gsl_vector_fread(f,V(a));
+    CHECK(res,res);
+    fclose (f);
+    OK
+}
+
+int vector_fwrite(char*filename, RVEC(a)) {
+    DEBUGMSG("gsl_vector_fwrite");
+    DVVIEW(a);
+    FILE * f = fopen(filename,"w");
+    CHECK(!f,BAD_FILE);
+    int res = gsl_vector_fwrite(f,V(a));
+    CHECK(res,res);
+    fclose (f);
+    OK
+}
+
+int matrix_fprintf(char*filename, char*fmt, int ro, RMAT(m)) {
+    DEBUGMSG("matrix_fprintf");
+    FILE * f = fopen(filename,"w");
+    CHECK(!f,BAD_FILE);
+    int i,j,sr,sc;
+    if (ro==1) { sr = mc; sc = 1;} else { sr = 1; sc = mr;}
+    #define AT(M,r,c) (M##p[(r)*sr+(c)*sc])
+    for (i=0; i<mr; i++) {
+        for (j=0; j<mc-1; j++) {
+            fprintf(f,fmt,AT(m,i,j));
+            fprintf(f," ");
+        }
+        fprintf(f,fmt,AT(m,i,j));
+        fprintf(f,"\n");
+    }
+    fclose (f);
+    OK
+}
+
 //---------------------------------------------------------------
 
 typedef double Trawfun(int, double*);
@@ -403,7 +464,7 @@
         status = gsl_multimin_fminimizer_iterate (s);
         size = gsl_multimin_fminimizer_size (s);
 
-        solp[iter*solc+0] = iter;
+        solp[iter*solc+0] = iter+1;
         solp[iter*solc+1] = s->fval;
         solp[iter*solc+2] = size;
 
@@ -411,9 +472,10 @@
         for(k=0;k<xin;k++) {
             solp[iter*solc+k+3] = gsl_vector_get(s->x,k);
         }
-        status = gsl_multimin_test_size (size, tolsize);
         iter++;
-    } while (status == GSL_CONTINUE && iter < maxit);
+        if (status) break;
+        status = gsl_multimin_test_size (size, tolsize);
+    } while (status == GSL_CONTINUE && iter <= maxit);
     int i,j;
     for (i=iter; i<solr; i++) {
         solp[i*solc+0] = iter;
@@ -500,15 +562,16 @@
     gsl_multimin_fdfminimizer_set (s, &my_func, V(xi), initstep, minimpar);
     do {
         status = gsl_multimin_fdfminimizer_iterate (s);
-        solp[iter*solc+0] = iter;
+        solp[iter*solc+0] = iter+1;
         solp[iter*solc+1] = s->f;
         int k;
         for(k=0;k<xin;k++) {
             solp[iter*solc+k+2] = gsl_vector_get(s->x,k);
         }
-        status = gsl_multimin_test_gradient (s->gradient, tolgrad);
         iter++;
-    } while (status == GSL_CONTINUE && iter < maxit);
+        if (status) break;
+        status = gsl_multimin_test_gradient (s->gradient, tolgrad);
+    } while (status == GSL_CONTINUE && iter <= maxit);
     int i,j;
     for (i=iter; i<solr; i++) {
         solp[i*solc+0] = iter;
@@ -570,7 +633,7 @@
     do {
            status = gsl_multiroot_fsolver_iterate (s);
 
-           solp[iter*solc+0] = iter;
+           solp[iter*solc+0] = iter+1;
 
            int k;
            for(k=0;k<xin;k++) {
@@ -587,7 +650,7 @@
            status =
              gsl_multiroot_test_residual (s->f, epsabs);
         }
-        while (status == GSL_CONTINUE && iter < maxit);
+        while (status == GSL_CONTINUE && iter <= maxit);
 
     int i,j;
     for (i=iter; i<solr; i++) {
@@ -685,7 +748,7 @@
     do {
            status = gsl_multiroot_fdfsolver_iterate (s);
 
-           solp[iter*solc+0] = iter;
+           solp[iter*solc+0] = iter+1;
 
            int k;
            for(k=0;k<xin;k++) {
@@ -702,7 +765,7 @@
            status =
              gsl_multiroot_test_residual (s->f, epsabs);
         }
-        while (status == GSL_CONTINUE && iter < maxit);
+        while (status == GSL_CONTINUE && iter <= maxit);
 
     int i,j;
     for (i=iter; i<solr; i++) {
diff --git a/lib/Numeric/GSL/gsl-aux.h b/lib/Numeric/GSL/gsl-aux.h
deleted file mode 100644
--- a/lib/Numeric/GSL/gsl-aux.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <gsl/gsl_complex.h>
-
-#define RVEC(A) int A##n, double*A##p
-#define RMAT(A) int A##r, int A##c, double* A##p
-#define KRVEC(A) int A##n, const double*A##p
-#define KRMAT(A) int A##r, int A##c, const double* A##p
-
-#define CVEC(A) int A##n, gsl_complex*A##p
-#define CMAT(A) int A##r, int A##c, gsl_complex* A##p
-#define KCVEC(A) int A##n, const gsl_complex*A##p
-#define KCMAT(A) int A##r, int A##c, const gsl_complex* A##p
-
-void no_abort_on_error();
-
-int toScalarR(int code, KRVEC(x), RVEC(r));
-/* norm2, absdif, maximum, posmax, etc. */
-
-int mapR(int code, KRVEC(x), RVEC(r));
-int mapC(int code, KCVEC(x), CVEC(r));
-/* sin cos tan etc. */
-
-int mapValR(int code, double*, KRVEC(x), RVEC(r));
-int mapValC(int code, gsl_complex*, KCVEC(x), CVEC(r));
-
-int zipR(int code, KRVEC(a), KRVEC(b), RVEC(r));
-int zipC(int code, KCVEC(a), KCVEC(b), CVEC(r));
-
-
-int fft(int code, KCVEC(a), CVEC(b));
-
-int deriv(int code, double f(double, void*), double x, double h, double * result, double * abserr);
-
-int integrate_qng(double f(double, void*), double a, double b, double prec,
-                   double *result, double*error);
-
-int integrate_qags(double f(double,void*), double a, double b, double prec, int w,
-               double *result, double* error);
-
-int polySolve(KRVEC(a), CVEC(z));
-
diff --git a/lib/Numeric/LinearAlgebra.hs b/lib/Numeric/LinearAlgebra.hs
--- a/lib/Numeric/LinearAlgebra.hs
+++ b/lib/Numeric/LinearAlgebra.hs
@@ -10,7 +10,7 @@
 
 Basic matrix computations implemented by BLAS, LAPACK and GSL.
 
-This is module reexports the most comon functions (including "Numeric.LinearAlgebra.Instances").
+This module reexports the most comon functions (including "Numeric.LinearAlgebra.Instances").
 
 -}
 -----------------------------------------------------------------------------
