diff --git a/casadi-bindings.cabal b/casadi-bindings.cabal
--- a/casadi-bindings.cabal
+++ b/casadi-bindings.cabal
@@ -1,5 +1,5 @@
 name:                casadi-bindings
-version:             3.0.0.1
+version:             3.0.0.2
 synopsis:            mid-level bindings to CasADi
 category:            Numerical, Math
 description:
diff --git a/src/Casadi/DM.hs b/src/Casadi/DM.hs
--- a/src/Casadi/DM.hs
+++ b/src/Casadi/DM.hs
@@ -223,8 +223,12 @@
 instance SymOrd DM where
   x `leq` y = unsafePerformIO (C.casadi_le__2 x y)
   {-# NOINLINE leq #-}
+  x `lt` y = unsafePerformIO (C.casadi_lt__2 x y)
+  {-# NOINLINE lt #-}
   x `geq` y = unsafePerformIO (C.casadi_ge__2 x y)
   {-# NOINLINE geq #-}
+  x `gt` y = unsafePerformIO (C.casadi_gt__2 x y)
+  {-# NOINLINE gt #-}
   x  `eq` y = unsafePerformIO (C.casadi_eq__2 x y)
   {-# NOINLINE eq #-}
 
diff --git a/src/Casadi/MX.hs b/src/Casadi/MX.hs
--- a/src/Casadi/MX.hs
+++ b/src/Casadi/MX.hs
@@ -225,8 +225,12 @@
 instance SymOrd MX where
   x `leq` y = unsafePerformIO (C.casadi_le__4 x y)
   {-# NOINLINE leq #-}
+  x `lt` y = unsafePerformIO (C.casadi_lt__4 x y)
+  {-# NOINLINE lt #-}
   x `geq` y = unsafePerformIO (C.casadi_ge__4 x y)
   {-# NOINLINE geq #-}
+  x `gt` y = unsafePerformIO (C.casadi_gt__4 x y)
+  {-# NOINLINE gt #-}
   x  `eq` y = unsafePerformIO (C.casadi_eq__4 x y)
   {-# NOINLINE eq #-}
 
diff --git a/src/Casadi/Overloading.hs b/src/Casadi/Overloading.hs
--- a/src/Casadi/Overloading.hs
+++ b/src/Casadi/Overloading.hs
@@ -5,7 +5,6 @@
        , Erf(..)
        , Fmod(..)
        , SymOrd(..)
-       , lt, gt
        , ifLeqThen, ifGeqThen, ifEqThen, ifLtThen, ifGtThen
        ) where
 
@@ -40,6 +39,15 @@
 -- >>> 43 `leq` 42 :: Double
 -- 0.0
 --
+-- >>> 41 `lt` 42 :: Double
+-- 1.0
+--
+-- >>> 42 `lt` 42 :: Double
+-- 0.0
+--
+-- >>> 43 `lt` 42 :: Double
+-- 0.0
+--
 -- >>> 41 `geq` 42 :: Double
 -- 0.0
 --
@@ -49,6 +57,15 @@
 -- >>> 43 `geq` 42 :: Double
 -- 1.0
 --
+-- >>> 41 `gt` 42 :: Double
+-- 0.0
+--
+-- >>> 42 `gt` 42 :: Double
+-- 0.0
+--
+-- >>> 43 `gt` 42 :: Double
+-- 1.0
+--
 -- >>> 41 `eq` 42 :: Double
 -- 0.0
 --
@@ -60,43 +77,27 @@
 class Num a => SymOrd a where
   -- | @<=@
   leq :: a -> a -> a
+  -- | @<@
+  lt :: a -> a -> a
   -- | @>=@
   geq :: a -> a -> a
+  -- | @>@
+  gt :: a -> a -> a
   -- | @==@
   eq :: a -> a -> a
 
 instance SymOrd Double where
   x `leq` y = if x <= y then 1 else 0
+  x  `lt` y = if x <  y then 1 else 0
   x `geq` y = if x >= y then 1 else 0
+  x  `gt` y = if x >  y then 1 else 0
   x  `eq` y = if x == y then 1 else 0
 instance SymOrd Float where
   x `leq` y = if x <= y then 1 else 0
+  x  `lt` y = if x <  y then 1 else 0
   x `geq` y = if x >= y then 1 else 0
+  x  `gt` y = if x >  y then 1 else 0
   x  `eq` y = if x == y then 1 else 0
-
--- | @<@
--- >>> 41 `lt` 42 :: Double
--- 1.0
---
--- >>> 42 `lt` 42 :: Double
--- 0.0
---
--- >>> 43 `lt` 42 :: Double
--- 0.0
-lt :: SymOrd a => a -> a -> a
-lt x y = 1 - geq x y
-
--- | @>@
--- >>> 41 `gt` 42 :: Double
--- 0.0
---
--- >>> 42 `gt` 42 :: Double
--- 0.0
---
--- >>> 43 `gt` 42 :: Double
--- 1.0
-gt :: SymOrd a => a -> a -> a
-gt x y = 1 - leq x y
 
 -- | @ifLeqThen x y ifX ifY == if x <= y then ifX else ifY@
 -- >>> ifLeqThen 41 42 100 200 :: Double
diff --git a/src/Casadi/SX.hs b/src/Casadi/SX.hs
--- a/src/Casadi/SX.hs
+++ b/src/Casadi/SX.hs
@@ -220,8 +220,12 @@
 instance SymOrd SX where
   x `leq` y = unsafePerformIO (C.casadi_le__1 x y)
   {-# NOINLINE leq #-}
+  x `lt` y = unsafePerformIO (C.casadi_lt__1 x y)
+  {-# NOINLINE lt #-}
   x `geq` y = unsafePerformIO (C.casadi_ge__1 x y)
   {-# NOINLINE geq #-}
+  x `gt` y = unsafePerformIO (C.casadi_gt__1 x y)
+  {-# NOINLINE gt #-}
   x  `eq` y = unsafePerformIO (C.casadi_eq__1 x y)
   {-# NOINLINE eq #-}
 
