diff --git a/Casadi/Core/Data.hs b/Casadi/Core/Data.hs
--- a/Casadi/Core/Data.hs
+++ b/Casadi/Core/Data.hs
@@ -143,6 +143,7 @@
 >Joris Gillis
 >
 >>Input scheme: casadi::ControlSimulatorInput (CONTROLSIMULATOR_NUM_IN = 3) [controlsimulatorIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -162,6 +163,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -305,7 +307,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: control_simulator.hpp 
 -}
 newtype ControlSimulator = ControlSimulator (ForeignPtr ControlSimulator')
@@ -391,6 +396,7 @@
 >Joel Andersson
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -477,7 +483,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: custom_function.hpp 
 -}
 newtype CustomFunction = CustomFunction (ForeignPtr CustomFunction')
@@ -590,6 +599,7 @@
 >Joel Andersson
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -676,7 +686,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: external_function.hpp 
 -}
 newtype ExternalFunction = ExternalFunction (ForeignPtr ExternalFunction')
@@ -753,6 +766,7 @@
 >Joel Andersson
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -839,6 +853,7 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >>List of available monitors
+>
 >+---------+--------------------------+
 >|   Id    |         Used in          |
 >+=========+==========================+
@@ -848,7 +863,10 @@
 >+---------+--------------------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: function.hpp 
 -}
 newtype Function = Function (ForeignPtr Function')
@@ -958,16 +976,34 @@
 {-|
 >Base class for Homotopy NLP Solvers.
 >
->Solves the following parametric nonlinear program (NLP):min          F(x, p,
->tau)  x  subject to             LBX <=   x    <= UBX             LBG <= G(x,
->p) <= UBG                        p  == P nx: number of decision variables
->ng: number of constraints     np: number of parameters
+>Solves the following parametric nonlinear program (NLP):
 >
+>::
+>
+>  min          F(x, p, tau)
+>   x
+>  
+>  subject to
+>              LBX <=   x    <= UBX
+>              LBG <= G(x, p) <= UBG
+>                         p  == P
+>  
+>      nx: number of decision variables
+>      ng: number of constraints
+>      np: number of parameters
+>  
+>
+>
+>
 >In a homotopy from tau = 0 to tau = 1.
 >
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::NlpSolverInput (NLP_SOLVER_NUM_IN = 8) [nlpSolverIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -1006,6 +1042,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::NlpSolverOutput (NLP_SOLVER_NUM_OUT = 6) [nlpSolverOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -1035,6 +1072,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -1128,7 +1166,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_HomotopyNlpSolver_simple'>simple</a>
 >
 >Note: some of the plugins in this list might not be available on your
@@ -1136,9 +1177,17 @@
 >listed here. You can obtain their documentation with
 >HomotopyNlpSolver.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >simple
+>------
 >
+>
+>
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -1157,8 +1206,16 @@
 >|                 |                 |                 | tau=1.          |
 >+-----------------+-----------------+-----------------+-----------------+
 >
->Joris Gillis Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joris Gillis
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: homotopy_nlp_solver.hpp 
 -}
 newtype HomotopyNlpSolver = HomotopyNlpSolver (ForeignPtr HomotopyNlpSolver')
@@ -1281,8 +1338,12 @@
 >ImplicitFunction.
 >
 >General information
+>===================
 >
+>
+>
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -1409,7 +1470,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_ImplicitFunction_kinsol'>kinsol</a>
 >
 >- <a href='#plugin_ImplicitFunction_newton'>newton</a>
@@ -1421,11 +1485,19 @@
 >listed here. You can obtain their documentation with
 >ImplicitFunction.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >kinsol
+>------
 >
+>
+>
 >KINSOL interface from the Sundials suite
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -1478,6 +1550,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+-----------+
 >|    Id     |
 >+===========+
@@ -1486,11 +1559,21 @@
 >| eval_f    |
 >+-----------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >newton
+>------
 >
+>
+>
 >Implements simple newton iterations to solve an implicit function.
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -1512,6 +1595,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+----------+
 >|    Id    |
 >+==========+
@@ -1527,6 +1611,7 @@
 >+----------+
 >
 >>List of available stats
+>
 >+---------------+
 >|      Id       |
 >+===============+
@@ -1535,11 +1620,21 @@
 >| return_status |
 >+---------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >nlp
+>---
 >
+>
+>
 >Use an NlpSolver as ImplicitFunction solver
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -1554,14 +1649,23 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available stats
+>
 >+------------------+
 >|        Id        |
 >+==================+
 >| nlp_solver_stats |
 >+------------------+
 >
->Joel Andersson Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joel Andersson
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: implicit_function.hpp 
 -}
 newtype ImplicitFunction = ImplicitFunction (ForeignPtr ImplicitFunction')
@@ -1608,24 +1712,44 @@
 >
 >Solves an initial value problem (IVP) coupled to a terminal value problem
 >with differential equation given as an implicit ODE coupled to an algebraic
->equation and a set of quadratures: Initial conditions at t=t0  x(t0)  = x0
->q(t0)  = 0   Forward integration from t=t0 to t=tf  der(x) = function(x, z,
->p, t) Forward ODE  0 = fz(x, z, p, t)                  Forward algebraic
->equations  der(q) = fq(x, z, p, t)                  Forward quadratures
->Terminal conditions at t=tf  rx(tf)  = rx0  rq(tf)  = 0 Backward integration
->from t=tf to t=t0  der(rx) = gx(rx, rz, rp, x, z, p, t)        Backward ODE
->0 = gz(rx, rz, rp, x, z, p, t) Backward algebraic equations  der(rq) =
->gq(rx, rz, rp, x, z, p, t) Backward quadratures   where we assume that both
->the forward and backwards integrations are index-1  (i.e. dfz/dz, dgz/drz
->are invertible) and furthermore that  gx, gz and gq have a linear dependency
->on rx, rz and rp.
+>equation and a set of quadratures:
 >
+>::
+>
+>   Initial conditions at t=t0
+>   x(t0)  = x0
+>   q(t0)  = 0
+>  
+>   Forward integration from t=t0 to t=tf
+>   der(x) = function(x, z, p, t)                  Forward ODE
+>   0 = fz(x, z, p, t)                  Forward algebraic equations
+>   der(q) = fq(x, z, p, t)                  Forward quadratures
+>  
+>   Terminal conditions at t=tf
+>   rx(tf)  = rx0
+>   rq(tf)  = 0
+>  
+>   Backward integration from t=tf to t=t0
+>   der(rx) = gx(rx, rz, rp, x, z, p, t)        Backward ODE
+>   0 = gz(rx, rz, rp, x, z, p, t)        Backward algebraic equations
+>   der(rq) = gq(rx, rz, rp, x, z, p, t)        Backward quadratures
+>  
+>   where we assume that both the forward and backwards integrations are index-1
+>   (i.e. dfz/dz, dgz/drz are invertible) and furthermore that
+>   gx, gz and gq have a linear dependency on rx, rz and rp.
+>
+>
+>
 >The Integrator class provides some additional functionality, such as getting
 >the value of the state and/or sensitivities at certain time points.
 >
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::IntegratorInput (INTEGRATOR_NUM_IN = 6) [integratorIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -1650,6 +1774,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::IntegratorOutput (INTEGRATOR_NUM_OUT = 6) [integratorOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -1676,6 +1801,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -1795,7 +1921,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_Integrator_cvodes'>cvodes</a>
 >
 >- <a href='#plugin_Integrator_idas'>idas</a>
@@ -1811,8 +1940,15 @@
 >listed here. You can obtain their documentation with
 >Integrator.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >cvodes
+>------
 >
+>
+>
 >Interface to CVodes from the Sundials suite.
 >
 >A call to evaluate will integrate to the end.
@@ -1822,6 +1958,7 @@
 >times t_i.
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -2057,6 +2194,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+---------+
 >|   Id    |
 >+=========+
@@ -2074,6 +2212,7 @@
 >+---------+
 >
 >>List of available stats
+>
 >+-------------+
 >|     Id      |
 >+=============+
@@ -2086,11 +2225,21 @@
 >| nstepsB     |
 >+-------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >idas
+>----
 >
+>
+>
 >Interface to IDAS from the Sundials suite.
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -2360,6 +2509,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+--------------------------+
 >|            Id            |
 >+==========================+
@@ -2385,6 +2535,7 @@
 >+--------------------------+
 >
 >>List of available stats
+>
 >+-------------+
 >|     Id      |
 >+=============+
@@ -2397,14 +2548,24 @@
 >| nstepsB     |
 >+-------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >collocation
+>-----------
 >
+>
+>
 >Fixed-step implicit Runge-Kutta integrator ODE/DAE integrator based on
 >collocation schemes
 >
 >The method is still under development
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -2427,13 +2588,23 @@
 >| e_elements      |                 |                 | finite elements |
 >+-----------------+-----------------+-----------------+-----------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >oldcollocation
+>--------------
 >
+>
+>
 >Collocation integrator ODE/DAE integrator based on collocation
 >
 >The method is still under development
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -2484,14 +2655,23 @@
 >|                 |                 |                 | integrator      |
 >+-----------------+-----------------+-----------------+-----------------+
 >
->rk
+>--------------------------------------------------------------------------------
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
+>rk --
+>
+>
+>
 >Fixed-step explicit Runge-Kutta integrator for ODEs Currently implements
 >RK4.
 >
 >The method is still under development
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -2499,8 +2679,16 @@
 >| e_elements      |                 |                 | finite elements |
 >+-----------------+-----------------+-----------------+-----------------+
 >
->Joel Andersson Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joel Andersson
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: integrator.hpp 
 -}
 newtype Integrator = Integrator (ForeignPtr Integrator')
@@ -2565,8 +2753,12 @@
 >therefore more expensive if A is invariant.
 >
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::LinsolInput (LINSOL_NUM_IN = 2) [linsolIn]
+>
 >+-----------+-------+------------------------------------------------+
 >| Full name | Short |                  Description                   |
 >+===========+=======+================================================+
@@ -2576,6 +2768,7 @@
 >+-----------+-------+------------------------------------------------+
 >
 >>Output scheme: casadi::LinsolOutput (LINSOL_NUM_OUT = 1) [linsolOut]
+>
 >+-----------+-------+----------------------------------------------+
 >| Full name | Short |                 Description                  |
 >+===========+=======+==============================================+
@@ -2583,6 +2776,7 @@
 >+-----------+-------+----------------------------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -2669,7 +2863,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_LinearSolver_csparsecholesky'>csparsecholesky</a>
 >
 >- <a href='#plugin_LinearSolver_csparse'>csparse</a>
@@ -2685,32 +2882,60 @@
 >listed here. You can obtain their documentation with
 >LinearSolver.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >csparsecholesky
+>---------------
 >
+>
+>
 >LinearSolver with CSparseCholesky Interface
 >
 >>List of available options
+>
 >+----+------+---------+-------------+
 >| Id | Type | Default | Description |
 >+====+======+=========+=============+
 >+----+------+---------+-------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >csparse
+>-------
 >
+>
+>
 >LinearSolver with CSparse Interface
 >
 >>List of available options
+>
 >+----+------+---------+-------------+
 >| Id | Type | Default | Description |
 >+====+======+=========+=============+
 >+----+------+---------+-------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >lapacklu
+>--------
 >
+>
+>
 >This class solves the linear system A.x=b by making an LU factorization of
 >A: A = L.U, with L lower and U upper triangular
 >
 >>List of available options
+>
 >+-----------------------------+------------+---------+-------------+
 >|             Id              |    Type    | Default | Description |
 >+=============================+============+=========+=============+
@@ -2719,23 +2944,43 @@
 >| equilibration               | OT_BOOLEAN | true    |             |
 >+-----------------------------+------------+---------+-------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >lapackqr
+>--------
 >
+>
+>
 >This class solves the linear system A.x=b by making an QR factorization of
 >A: A = Q.R, with Q orthogonal and R upper triangular
 >
 >>List of available options
+>
 >+----+------+---------+-------------+
 >| Id | Type | Default | Description |
 >+====+======+=========+=============+
 >+----+------+---------+-------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >symbolicqr
+>----------
 >
+>
+>
 >LinearSolver based on QR factorization with sparsity pattern based
 >reordering without partial pivoting
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -2749,8 +2994,16 @@
 >|                 |                 |                 | generated code  |
 >+-----------------+-----------------+-----------------+-----------------+
 >
->Joel Andersson Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joel Andersson
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: linear_solver.hpp 
 -}
 newtype LinearSolver = LinearSolver (ForeignPtr LinearSolver')
@@ -2795,14 +3048,35 @@
 >
 >Solves the following linear problem:
 >
->min          c' x x  subject to LBA <= A x <= UBA LBX <= x   <= UBX with x (
->n x 1) c ( n x 1 ) A sparse matrix ( nc x n) LBA, UBA dense vector (nc x 1)
->LBX, UBX dense vector (n x 1)  n: number of decision variables (x) nc:
->number of constraints (A)
 >
+>
+>::
+>
+>  min          c' x
+>  x
+>  
+>  subject to
+>  LBA <= A x <= UBA
+>  LBX <= x   <= UBX
+>  
+>  with x ( n x 1)
+>  c ( n x 1 )
+>  A sparse matrix ( nc x n)
+>  LBA, UBA dense vector (nc x 1)
+>  LBX, UBX dense vector (n x 1)
+>  
+>  n: number of decision variables (x)
+>  nc: number of constraints (A)
+>
+>
+>
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::LpSolverInput (LP_SOLVER_NUM_IN = 6) [lpIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -2824,6 +3098,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::LpSolverOutput (LP_SOLVER_NUM_OUT = 4) [lpOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -2841,6 +3116,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -2927,7 +3203,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_LpSolver_qp'>qp</a>
 >
 >Note: some of the plugins in this list might not be available on your
@@ -2935,11 +3214,18 @@
 >listed here. You can obtain their documentation with
 >LpSolver.doc("myextraplugin")
 >
->qp
 >
+>
+>--------------------------------------------------------------------------------
+>
+>qp --
+>
+>
+>
 >Solve LPs using a QpSolver
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -2953,14 +3239,23 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available stats
+>
 >+-----------------+
 >|       Id        |
 >+=================+
 >| qp_solver_stats |
 >+-----------------+
 >
->Joris Gillis Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joris Gillis
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: lp_solver.hpp 
 -}
 newtype LpSolver = LpSolver (ForeignPtr LpSolver')
@@ -3036,6 +3331,7 @@
 >Joel Andersson
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -3122,7 +3418,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: mx_function.hpp 
 -}
 newtype MXFunction = MXFunction (ForeignPtr MXFunction')
@@ -3165,14 +3464,32 @@
 {-|
 >NlpSolver.
 >
->Solves the following parametric nonlinear program (NLP):min          F(x, p)
->x  subject to             LBX <=   x    <= UBX LBG <= G(x, p) <= UBG
->p  == P      nx: number of decision variables     ng: number of constraints
->np: number of parameters
+>Solves the following parametric nonlinear program (NLP):
 >
+>::
+>
+>  min          F(x, p)
+>   x
+>  
+>  subject to
+>              LBX <=   x    <= UBX
+>              LBG <= G(x, p) <= UBG
+>                         p  == P
+>  
+>      nx: number of decision variables
+>      ng: number of constraints
+>      np: number of parameters
+>  
+>
+>
+>
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::NlpSolverInput (NLP_SOLVER_NUM_IN = 8) [nlpSolverIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -3211,6 +3528,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::NlpSolverOutput (NLP_SOLVER_NUM_OUT = 6) [nlpSolverOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -3240,6 +3558,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -3425,7 +3744,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_NlpSolver_ipopt'>ipopt</a>
 >
 >- <a href='#plugin_NlpSolver_knitro'>knitro</a>
@@ -3445,8 +3767,15 @@
 >listed here. You can obtain their documentation with
 >NlpSolver.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >ipopt
+>-----
 >
+>
+>
 >When in warmstart mode, output NLP_SOLVER_LAM_X may be used as input
 >
 >NOTE: Even when max_iter == 0, it is not guaranteed that
@@ -3467,6 +3796,7 @@
 >'make_constraint' or 'relax_bounds' to obtain correct results.
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -5686,6 +6016,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+-------------+
 >|     Id      |
 >+=============+
@@ -5701,6 +6032,7 @@
 >+-------------+
 >
 >>List of available stats
+>
 >+--------------------+
 >|         Id         |
 >+====================+
@@ -5751,11 +6083,21 @@
 >| var_string_md      |
 >+--------------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >knitro
+>------
 >
+>
+>
 >KNITRO interface
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -5848,6 +6190,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+-------------+
 >|     Id      |
 >+=============+
@@ -5862,11 +6205,21 @@
 >| eval_jac_g  |
 >+-------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >snopt
+>-----
 >
+>
+>
 >SNOPT interface
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -5906,6 +6259,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+-----------+
 >|    Id     |
 >+===========+
@@ -5915,6 +6269,7 @@
 >+-----------+
 >
 >>List of available stats
+>
 >+----------------+
 >|       Id       |
 >+================+
@@ -5939,11 +6294,21 @@
 >| t_mainloop     |
 >+----------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >worhp
+>-----
 >
+>
+>
 >WORHP interface
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -6714,6 +7079,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+-------------+
 >|     Id      |
 >+=============+
@@ -6729,6 +7095,7 @@
 >+-------------+
 >
 >>List of available stats
+>
 >+--------------------+
 >|         Id         |
 >+====================+
@@ -6769,12 +7136,22 @@
 >| t_mainloop         |
 >+--------------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >scpgen
+>------
 >
+>
+>
 >A structure-exploiting sequential quadratic programming (to be come
 >sequential convex programming) method for nonlinear programming.
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -6877,6 +7254,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+-------------+
 >|     Id      |
 >+=============+
@@ -6896,17 +7274,28 @@
 >+-------------+
 >
 >>List of available stats
+>
 >+------------+
 >|     Id     |
 >+============+
 >| iter_count |
 >+------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >sqpmethod
+>---------
 >
+>
+>
 >A textbook SQPMethod
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -6984,6 +7373,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+-------------+
 >|     Id      |
 >+=============+
@@ -7005,6 +7395,7 @@
 >+-------------+
 >
 >>List of available stats
+>
 >+--------------------+
 >|         Id         |
 >+====================+
@@ -7043,11 +7434,21 @@
 >| t_mainloop         |
 >+--------------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >stabilizedsqp
+>-------------
 >
+>
+>
 >Stabilized Sequential Quadratic Programming method.
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -7185,6 +7586,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available monitors
+>
 >+-------------+
 >|     Id      |
 >+=============+
@@ -7204,6 +7606,7 @@
 >+-------------+
 >
 >>List of available stats
+>
 >+---------------+
 >|      Id       |
 >+===============+
@@ -7212,8 +7615,16 @@
 >| return_status |
 >+---------------+
 >
->Joel Andersson Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joel Andersson
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: nlp_solver.hpp 
 -}
 newtype NlpSolver = NlpSolver (ForeignPtr NlpSolver')
@@ -7268,6 +7679,7 @@
 >basis Joris Gillis
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -7359,7 +7771,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: nullspace.hpp 
 -}
 newtype Nullspace = Nullspace (ForeignPtr Nullspace')
@@ -7405,6 +7820,7 @@
 >Joel Andersson
 >
 >>Input scheme: casadi::OCPInput (OCP_NUM_IN = 13) [ocpIn]
+>
 >+------------+--------+----------------------------------------------+
 >| Full name  | Short  |                 Description                  |
 >+============+========+==============================================+
@@ -7436,6 +7852,7 @@
 >+------------+--------+----------------------------------------------+
 >
 >>Output scheme: casadi::OCPOutput (OCP_NUM_OUT = 4) [ocpOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -7453,6 +7870,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -7551,7 +7969,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: ocp_solver.hpp 
 -}
 newtype OCPSolver = OCPSolver (ForeignPtr OCPSolver')
@@ -7604,6 +8025,7 @@
 >Joel Andersson
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -7613,7 +8035,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: options_functionality.hpp 
 -}
 newtype OptionsFunctionality = OptionsFunctionality (ForeignPtr OptionsFunctionality')
@@ -7650,6 +8075,7 @@
 >Joel Andersson
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -7740,6 +8166,7 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >>List of available stats
+>
 >+-----------------+------------------------------+
 >|       Id        |           Used in            |
 >+=================+==============================+
@@ -7759,7 +8186,10 @@
 >+-----------------+------------------------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: parallelizer.hpp 
 -}
 newtype Parallelizer = Parallelizer (ForeignPtr Parallelizer')
@@ -7833,17 +8263,38 @@
 >
 >Solves the following strictly convex problem:
 >
->min          1/2 x' H x + g' x x  subject to 1/2 x' Pi x  +  qi' x + ri  <=
->0   for i=0..nq-1 LBA <= A x <= UBA LBX <= x   <= UBX  with : H, Pi sparse
->(n x n) positive definite g, qi dense  (n x 1) ri scalar n: number of
->decision variables (x) nc: number of linear constraints (A) nq: number of
->quadratic constraints
 >
+>
+>::
+>
+>  min          1/2 x' H x + g' x
+>  x
+>  
+>  subject to
+>  1/2 x' Pi x  +  qi' x + ri  <= 0   for i=0..nq-1
+>  LBA <= A x <= UBA
+>  LBX <= x   <= UBX
+>  
+>  with :
+>  H, Pi sparse (n x n) positive definite
+>  g, qi dense  (n x 1)
+>  ri scalar
+>  
+>  n: number of decision variables (x)
+>  nc: number of linear constraints (A)
+>  nq: number of quadratic constraints
+>
+>
+>
 >If H, Pi is not positive-definite, the solver should throw an error.
 >
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::QcqpSolverInput (QCQP_SOLVER_NUM_IN = 12) [qcqpIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -7892,6 +8343,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::QcqpSolverOutput (QCQP_SOLVER_NUM_OUT = 4) [qcqpOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -7909,6 +8361,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -7995,7 +8448,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_QcqpSolver_socp'>socp</a>
 >
 >Note: some of the plugins in this list might not be available on your
@@ -8003,8 +8459,15 @@
 >listed here. You can obtain their documentation with
 >QcqpSolver.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >socp
+>----
 >
+>
+>
 >Solve a QCQP with an SocpSolver
 >
 >Note: this implementation relies on Cholesky decomposition: Chol(H) = L -> H
@@ -8014,15 +8477,33 @@
 >A better implementation would rely on matrix square root, but we need
 >singular value decomposition to implement that.
 >
->This implementation makes use of the epigraph reformulation:*  min f(x) *
->x * *   min  t *    x, t  f(x) <= t *
+>This implementation makes use of the epigraph reformulation:
 >
->This implementation makes use of the following identity:*  || Gx+h||_2 <=
->e'x + f * *  x'(G'G - ee')x + (2 h'G - 2 f e') x + h'h - f <= 0 * where we
->put e = [0 0 ... 1] for the quadratic constraint arising from the epigraph
->reformulation and e==0 for all other quadratic constraints.
+>::
 >
+>  *  min f(x)
+>  *    x
+>  *
+>  *   min  t
+>  *    x, t  f(x) <= t
+>  * 
+>
+>
+>
+>This implementation makes use of the following identity:
+>
+>::
+>
+>  *  || Gx+h||_2 <= e'x + f
+>  *
+>  *  x'(G'G - ee')x + (2 h'G - 2 f e') x + h'h - f <= 0
+>  * 
+>
+>where we put e = [0 0 ... 1] for the quadratic constraint arising from the
+>epigraph reformulation and e==0 for all other quadratic constraints.
+>
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -8036,14 +8517,23 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available stats
+>
 >+-------------------+
 >|        Id         |
 >+===================+
 >| socp_solver_stats |
 >+-------------------+
 >
->Joris Gillis Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joris Gillis
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: qcqp_solver.hpp 
 -}
 newtype QcqpSolver = QcqpSolver (ForeignPtr QcqpSolver')
@@ -8088,16 +8578,35 @@
 >
 >Solves the following strictly convex problem:
 >
->min          1/2 x' H x + g' x  x  subject to             LBA <= A x <= UBA
->LBX <= x   <= UBX      with :       H sparse (n x n) positive definite
->g dense  (n x 1)      n: number of decision variables (x)     nc: number of
->constraints (A)
 >
+>
+>::
+>
+>  min          1/2 x' H x + g' x
+>   x
+>  
+>  subject to
+>              LBA <= A x <= UBA
+>              LBX <= x   <= UBX
+>  
+>      with :
+>        H sparse (n x n) positive definite
+>        g dense  (n x 1)
+>  
+>      n: number of decision variables (x)
+>      nc: number of constraints (A)
+>
+>
+>
 >If H is not positive-definite, the solver should throw an error.
 >
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::QpSolverInput (QP_SOLVER_NUM_IN = 9) [qpIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -8130,6 +8639,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::QpSolverOutput (QP_SOLVER_NUM_OUT = 4) [qpOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -8147,6 +8657,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -8233,7 +8744,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_QpSolver_cplex'>cplex</a>
 >
 >- <a href='#plugin_QpSolver_ooqp'>ooqp</a>
@@ -8251,11 +8765,19 @@
 >listed here. You can obtain their documentation with
 >QpSolver.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >cplex
+>-----
 >
+>
+>
 >Interface to Cplex solver for sparse Quadratic Programs
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -8309,8 +8831,17 @@
 >|                 |                 |                 | methods).       |
 >+-----------------+-----------------+-----------------+-----------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >ooqp
+>----
 >
+>
+>
 >Interface to the OOQP Solver for quadratic programming The current
 >implementation assumes that OOQP is configured with the MA27 sparse linear
 >solver.
@@ -8319,6 +8850,7 @@
 >reInit();
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -8338,11 +8870,21 @@
 >|                 |                 |                 | 10 and 100      |
 >+-----------------+-----------------+-----------------+-----------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >qpoases
+>-------
 >
+>
+>
 >Interface to QPOases Solver for quadratic programming
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -8529,21 +9071,41 @@
 >|                 |                 |                 | stop homotopy.  |
 >+-----------------+-----------------+-----------------+-----------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >sqic
+>----
 >
+>
+>
 >Interface to the SQIC solver for quadratic programming
 >
 >>List of available options
+>
 >+----+------+---------+-------------+
 >| Id | Type | Default | Description |
 >+====+======+=========+=============+
 >+----+------+---------+-------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >nlp
+>---
 >
+>
+>
 >Solve QPs using an NlpSolver
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -8557,17 +9119,28 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available stats
+>
 >+------------------+
 >|        Id        |
 >+==================+
 >| nlp_solver_stats |
 >+------------------+
 >
+>--------------------------------------------------------------------------------
+>
+>
+>
+>--------------------------------------------------------------------------------
+>
 >qcqp
+>----
 >
+>
+>
 >Solve QP using a QcqpSolver
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -8581,14 +9154,23 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available stats
+>
 >+-------------------+
 >|        Id         |
 >+===================+
 >| qcqp_solver_stats |
 >+-------------------+
 >
->Joel Andersson Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joel Andersson
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: qp_solver.hpp 
 -}
 newtype QpSolver = QpSolver (ForeignPtr QpSolver')
@@ -8686,6 +9268,7 @@
 >Joel Andersson
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -8790,7 +9373,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: sx_function.hpp 
 -}
 newtype SXFunction = SXFunction (ForeignPtr SXFunction')
@@ -8838,40 +9424,97 @@
 >
 >Primal:
 >
->min          c' x x subject to P = Sum_i^m F_i x_i - G P negative
->semidefinite  LBA <= A x <= UBA LBX <= x   <= UBX  with x ( n x 1) c ( n x 1
->) G, F_i  sparse symmetric (m x m) X dense symmetric ( m x m ) A sparse
->matrix ( nc x n) LBA, UBA dense vector (nc x 1) LBX, UBX dense vector (n x
->1)
 >
+>
+>::
+>
+>  min          c' x
+>  x
+>  subject to
+>  P = Sum_i^m F_i x_i - G
+>  P negative semidefinite
+>  
+>  LBA <= A x <= UBA
+>  LBX <= x   <= UBX
+>  
+>  with x ( n x 1)
+>  c ( n x 1 )
+>  G, F_i  sparse symmetric (m x m)
+>  X dense symmetric ( m x m )
+>  A sparse matrix ( nc x n)
+>  LBA, UBA dense vector (nc x 1)
+>  LBX, UBX dense vector (n x 1)
+>
+>
+>
 >This formulation is chosen as primal, because it does not call for a large
 >decision variable space.
 >
 >Dual:
 >
->max          trace(G Y) Y  subject to trace(F_i Y) = c_i Y positive
->semidefinite  with Y dense symmetric ( m x m)
 >
+>
+>::
+>
+>  max          trace(G Y)
+>  Y
+>  
+>  subject to
+>  trace(F_i Y) = c_i
+>  Y positive semidefinite
+>  
+>  with Y dense symmetric ( m x m)
+>
+>
+>
 >On generality: you might have formulation with block partitioning:
 >
 >Primal:
 >
->min          c' x x subject to Pj = Sum_i^m F_ij x_i - gj   for all j Pj
->negative semidefinite   for all j  with x ( n x 1) c ( n x 1 ) G, F_i
->sparse symmetric (m x m) X dense symmetric ( m x m )
 >
->Dual:max          Sum_j trace(Gj Yj) Yj  subject to Sum_j trace(F_ij Yj) =
->c_i   for all j Yj positive semidefinite     for all j  with Y dense
->symmetric ( m x m)
 >
+>::
+>
+>  min          c' x
+>  x
+>  subject to
+>  Pj = Sum_i^m F_ij x_i - gj   for all j
+>  Pj negative semidefinite   for all j
+>  
+>  with x ( n x 1)
+>  c ( n x 1 )
+>  G, F_i  sparse symmetric (m x m)
+>  X dense symmetric ( m x m )
+>
+>
+>
+>Dual:
+>
+>::
+>
+>  max          Sum_j trace(Gj Yj)
+>  Yj
+>  
+>  subject to
+>  Sum_j trace(F_ij Yj) = c_i   for all j
+>  Yj positive semidefinite     for all j
+>  
+>  with Y dense symmetric ( m x m)
+>
+>
+>
 >You can cast this into the standard form with: G = blkdiag(Gj for all j) Fi
 >= blkdiag(F_ij for all j)
 >
 >Implementations of SdpSolver are encouraged to exploit this block structure.
 >
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::SDPInput (SDP_SOLVER_NUM_IN = 8) [sdpIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -8902,6 +9545,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::SDPOutput (SDP_SOLVER_NUM_OUT = 7) [sdpOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -8935,6 +9579,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -9062,7 +9707,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_SdpSolver_dsdp'>dsdp</a>
 >
 >Note: some of the plugins in this list might not be available on your
@@ -9070,14 +9718,22 @@
 >listed here. You can obtain their documentation with
 >SdpSolver.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >dsdp
+>----
 >
+>
+>
 >Interface to the SDP solver DSDP Warning: The solver DSDP is not good at
 >handling linear equalities. There are several options if you notice
 >difficulties: play around with the parameter "_penalty" leave a gap
 >manually switch to another SDP Solver
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -9176,6 +9832,7 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available stats
+>
 >+--------------------+
 >|         Id         |
 >+====================+
@@ -9184,8 +9841,16 @@
 >| termination_reason |
 >+--------------------+
 >
->Joel Andersson Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joel Andersson
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: sdp_solver.hpp 
 -}
 newtype SdpSolver = SdpSolver (ForeignPtr SdpSolver')
@@ -9231,8 +9896,12 @@
 >Same as an SdpSolver, but with a quadratic objective 1/2 x' H x
 >
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::SDQPInput (SDQP_SOLVER_NUM_IN = 9) [sdqpIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -9266,6 +9935,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::SDQPOutput (SDQP_SOLVER_NUM_OUT = 7) [sdqpOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -9299,6 +9969,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -9396,7 +10067,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_SdqpSolver_sdp'>sdp</a>
 >
 >Note: some of the plugins in this list might not be available on your
@@ -9404,8 +10078,15 @@
 >listed here. You can obtain their documentation with
 >SdqpSolver.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >sdp
+>---
 >
+>
+>
 >Solve an SQDP using an SdpSolver Note: this implementation relies on
 >Cholesky decomposition: Chol(H) = L -> H = LL' with L lower triangular This
 >requires Pi, H to be positive definite. Positive semi-definite is not
@@ -9415,6 +10096,7 @@
 >singular value decomposition to implement that.
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -9428,14 +10110,23 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available stats
+>
 >+------------------+
 >|        Id        |
 >+==================+
 >| sdp_solver_stats |
 >+------------------+
 >
->Joel Andersson Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joel Andersson
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: sdqp_solver.hpp 
 -}
 newtype SdqpSolver = SdqpSolver (ForeignPtr SdqpSolver')
@@ -9555,6 +10246,7 @@
 >Joel Andersson
 >
 >>Input scheme: casadi::IntegratorInput (INTEGRATOR_NUM_IN = 6) [integratorIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -9579,6 +10271,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -9666,6 +10359,7 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >>List of available monitors
+>
 >+---------+---------------------------+
 >|   Id    |          Used in          |
 >+=========+===========================+
@@ -9679,7 +10373,10 @@
 >+---------+---------------------------+
 >
 >Diagrams
+>--------
 >
+>
+>
 >C++ includes: simulator.hpp 
 -}
 newtype Simulator = Simulator (ForeignPtr Simulator')
@@ -9759,15 +10456,38 @@
 >
 >Primal:
 >
->min          c' x x subject to || Gi' x + hi ||_2 <= ei' x + fi  i = 1..m
->LBA <= A x <= UBA LBX <= x   <= UBX  with x ( n x 1) c ( n x 1 ) Gi  sparse
->(n x ni) hi  dense (ni x 1) ei  dense (n x 1) fi  dense (1 x 1) N = Sum_i^m
->ni A sparse (nc x n) LBA, UBA dense vector (nc x 1) LBX, UBX dense vector (n
->x 1)
 >
+>
+>::
+>
+>  min          c' x
+>  x
+>  subject to
+>  || Gi' x + hi ||_2 <= ei' x + fi  i = 1..m
+>  
+>  LBA <= A x <= UBA
+>  LBX <= x   <= UBX
+>  
+>  with x ( n x 1)
+>  c ( n x 1 )
+>  Gi  sparse (n x ni)
+>  hi  dense (ni x 1)
+>  ei  dense (n x 1)
+>  fi  dense (1 x 1)
+>  N = Sum_i^m ni
+>  A sparse (nc x n)
+>  LBA, UBA dense vector (nc x 1)
+>  LBX, UBX dense vector (n x 1)
+>
+>
+>
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::SOCPInput (SOCP_SOLVER_NUM_IN = 10) [socpIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -9807,6 +10527,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::SOCPOutput (SOCP_SOLVER_NUM_OUT = 4) [socpOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -9828,6 +10549,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -9927,7 +10649,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_SocpSolver_sdp'>sdp</a>
 >
 >Note: some of the plugins in this list might not be available on your
@@ -9935,11 +10660,19 @@
 >listed here. You can obtain their documentation with
 >SocpSolver.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >sdp
+>---
 >
+>
+>
 >Solve SOCPs using an SdpSolver
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -9953,14 +10686,23 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available stats
+>
 >+------------------+
 >|        Id        |
 >+==================+
 >| sdp_solver_stats |
 >+------------------+
 >
->Joris Gillis Diagrams
+>--------------------------------------------------------------------------------
 >
+>
+>
+>Joris Gillis
+>Diagrams
+>--------
+>
+>
+>
 >C++ includes: socp_solver.hpp 
 -}
 newtype SocpSolver = SocpSolver (ForeignPtr SocpSolver')
@@ -10074,15 +10816,35 @@
 >
 >Solves the following strictly convex problem:
 >
->min          1/2 x' H x + g' x x  subject to LBA <= A x <= UBA LBX <= x   <=
->UBX  with : H sparse (n x n) positive definite g dense  (n x 1) n: number of
->decision variables (x) nc: number of constraints (A)
 >
+>
+>::
+>
+>  min          1/2 x' H x + g' x
+>  x
+>  
+>  subject to
+>  LBA <= A x <= UBA
+>  LBX <= x   <= UBX
+>  
+>  with :
+>  H sparse (n x n) positive definite
+>  g dense  (n x 1)
+>  
+>  n: number of decision variables (x)
+>  nc: number of constraints (A)
+>
+>
+>
 >If H is not positive-definite, the solver should throw an error.
 >
 >General information
+>===================
 >
+>
+>
 >>Input scheme: casadi::StabilizedQpSolverInput (STABILIZED_QP_SOLVER_NUM_IN = 12) [stabilizedQpIn]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -10130,6 +10892,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>Output scheme: casadi::QpSolverOutput (QP_SOLVER_NUM_OUT = 4) [qpOut]
+>
 >+------------------------+------------------------+------------------------+
 >|       Full name        |         Short          |      Description       |
 >+========================+========================+========================+
@@ -10147,6 +10910,7 @@
 >+------------------------+------------------------+------------------------+
 >
 >>List of available options
+>
 >+--------------+--------------+--------------+--------------+--------------+
 >|      Id      |     Type     |   Default    | Description  |   Used in    |
 >+==============+==============+==============+==============+==============+
@@ -10233,7 +10997,10 @@
 >+--------------+--------------+--------------+--------------+--------------+
 >
 >List of plugins
+>===============
 >
+>
+>
 >- <a href='#plugin_StabilizedQpSolver_sqic'>sqic</a>
 >
 >- <a href='#plugin_StabilizedQpSolver_qp'>qp</a>
@@ -10243,21 +11010,38 @@
 >listed here. You can obtain their documentation with
 >StabilizedQpSolver.doc("myextraplugin")
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
 >sqic
+>----
 >
+>
+>
 >Interface to SQIC
 >
 >>List of available options
+>
 >+----+------+---------+-------------+
 >| Id | Type | Default | Description |
 >+====+======+=========+=============+
 >+----+------+---------+-------------+
 >
->qp
+>--------------------------------------------------------------------------------
 >
+>
+>
+>--------------------------------------------------------------------------------
+>
+>qp --
+>
+>
+>
 >Solved a stabilized QP using a standard QP solver
 >
 >>List of available options
+>
 >+-----------------+-----------------+-----------------+-----------------+
 >|       Id        |      Type       |     Default     |   Description   |
 >+=================+=================+=================+=================+
@@ -10273,13 +11057,22 @@
 >+-----------------+-----------------+-----------------+-----------------+
 >
 >>List of available stats
+>
 >+-----------------+
 >|       Id        |
 >+=================+
 >| qp_solver_stats |
 >+-----------------+
 >
->Joel Andersson Diagrams
+>--------------------------------------------------------------------------------
+>
+>
+>
+>Joel Andersson
+>Diagrams
+>--------
+>
+>
 >
 >C++ includes: stabilized_qp_solver.hpp 
 -}
diff --git a/Casadi/Core/Tools.hs b/Casadi/Core/Tools.hs
--- a/Casadi/Core/Tools.hs
+++ b/Casadi/Core/Tools.hs
@@ -1339,6 +1339,8 @@
 foreign import ccall unsafe "blkdiag__2" c_blkdiag__2
   :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
 {-|
+>Construct a matrix with given blocks on the diagonal.
+>
 >Construct a matrix with given block on the diagonal.
 -}
 blkdiag__2
@@ -1356,6 +1358,8 @@
 foreign import ccall unsafe "blkdiag__3" c_blkdiag__3
   :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
 {-|
+>Construct a matrix with given blocks on the diagonal.
+>
 >Construct a matrix with given block on the diagonal.
 -}
 blkdiag__3
@@ -1373,6 +1377,8 @@
 foreign import ccall unsafe "blkdiag__4" c_blkdiag__4
   :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
 {-|
+>Construct a matrix with given blocks on the diagonal.
+>
 >Construct a matrix with given block on the diagonal.
 -}
 blkdiag__4
@@ -3961,6 +3967,7 @@
 >f:  dynamical system
 >
 >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
+>
 >+-----------+-------+----------------------------+
 >| Full name | Short |        Description         |
 >+===========+=======+============================+
@@ -3974,6 +3981,7 @@
 >+-----------+-------+----------------------------+
 >
 >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
+>
 >+-----------+-------+--------------------------------------------+
 >| Full name | Short |                Description                 |
 >+===========+=======+============================================+
@@ -4017,6 +4025,7 @@
 >f:  dynamical system
 >
 >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
+>
 >+-----------+-------+----------------------------+
 >| Full name | Short |        Description         |
 >+===========+=======+============================+
@@ -4030,6 +4039,7 @@
 >+-----------+-------+----------------------------+
 >
 >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
+>
 >+-----------+-------+--------------------------------------------+
 >| Full name | Short |                Description                 |
 >+===========+=======+============================================+
@@ -4074,6 +4084,7 @@
 >f:  dynamical system
 >
 >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
+>
 >+-----------+-------+----------------------------+
 >| Full name | Short |        Description         |
 >+===========+=======+============================+
@@ -4087,6 +4098,7 @@
 >+-----------+-------+----------------------------+
 >
 >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
+>
 >+-----------+-------+--------------------------------------------+
 >| Full name | Short |                Description                 |
 >+===========+=======+============================================+
@@ -4132,6 +4144,7 @@
 >f:  dynamical system
 >
 >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
+>
 >+-----------+-------+----------------------------+
 >| Full name | Short |        Description         |
 >+===========+=======+============================+
@@ -4145,6 +4158,7 @@
 >+-----------+-------+----------------------------+
 >
 >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
+>
 >+-----------+-------+--------------------------------------------+
 >| Full name | Short |                Description                 |
 >+===========+=======+============================================+
@@ -6276,6 +6290,7 @@
 >f:  dynamical system
 >
 >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
+>
 >+-----------+-------+----------------------------+
 >| Full name | Short |        Description         |
 >+===========+=======+============================+
@@ -6289,6 +6304,7 @@
 >+-----------+-------+----------------------------+
 >
 >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
+>
 >+-----------+-------+--------------------------------------------+
 >| Full name | Short |                Description                 |
 >+===========+=======+============================================+
@@ -20224,7 +20240,11 @@
 >$(x)=f(a)+f'(a)(x-a)+f''(a)\\\\frac
 >{(x-a)^2}{2!}+f'''(a)\\\\frac{(x-a)^3}{3!}+\\\\ldots$
 >
->Example usage:>>   x
+>Example usage:
+>
+>::
+>
+>>>   x
 -}
 taylor__0
   :: SX -> SX -> IO SX
@@ -20250,7 +20270,11 @@
 >$(x)=f(a)+f'(a)(x-a)+f''(a)\\\\frac
 >{(x-a)^2}{2!}+f'''(a)\\\\frac{(x-a)^3}{3!}+\\\\ldots$
 >
->Example usage:>>   x
+>Example usage:
+>
+>::
+>
+>>>   x
 -}
 taylor__1
   :: SX -> SX -> SX -> IO SX
@@ -20277,7 +20301,11 @@
 >$(x)=f(a)+f'(a)(x-a)+f''(a)\\\\frac
 >{(x-a)^2}{2!}+f'''(a)\\\\frac{(x-a)^3}{3!}+\\\\ldots$
 >
->Example usage:>>   x
+>Example usage:
+>
+>::
+>
+>>>   x
 -}
 taylor__2
   :: SX -> SX -> SX -> Int -> IO SX
diff --git a/casadi-bindings-core.cabal b/casadi-bindings-core.cabal
--- a/casadi-bindings-core.cabal
+++ b/casadi-bindings-core.cabal
@@ -1,5 +1,5 @@
 name:                casadi-bindings-core
-version:             1.9.0.5
+version:             2.0.0
 license:             LGPL-3
 license-file:        LICENSE
 category:            Numerical, Math
