diff --git a/persistable-record.cabal b/persistable-record.cabal
--- a/persistable-record.cabal
+++ b/persistable-record.cabal
@@ -1,5 +1,5 @@
 name:                persistable-record
-version:             0.4.1.2
+version:             0.4.2.0
 synopsis:            Binding between SQL database values and haskell records.
 description:         This package contiains types to represent table constraints and
                      interfaces to bind between SQL database values and Haskell records.
diff --git a/src/Database/Record/ToSql.hs b/src/Database/Record/ToSql.hs
--- a/src/Database/Record/ToSql.hs
+++ b/src/Database/Record/ToSql.hs
@@ -91,7 +91,7 @@
 
 
 -- | Inference rule interface for 'RecordToSql' proof object.
-class ToSql q a where
+class PersistableWidth a => ToSql q a where
   -- | Infer 'RecordToSql' proof object.
   recordToSql :: RecordToSql q a
 
@@ -102,7 +102,7 @@
 
 -- | Inference rule of 'RecordToSql' proof object which can convert
 --   from Haskell 'Maybe' type into list of SQL type ['q'].
-instance (PersistableType q, PersistableWidth a, ToSql q a) => ToSql q (Maybe a)  where
+instance (PersistableType q, ToSql q a) => ToSql q (Maybe a)  where
   recordToSql = maybeRecord persistableType persistableWidth recordToSql
 
 -- | Inference rule of 'RecordToSql' proof object which can convert
diff --git a/test/nestedEq.hs b/test/nestedEq.hs
--- a/test/nestedEq.hs
+++ b/test/nestedEq.hs
@@ -5,10 +5,11 @@
 import Test.QuickCheck.Simple (defaultMain, eqTest)
 
 import Database.Record
-  (PersistableType (..),
+  (PersistableType (..), PersistableWidth (..),
    FromSql (..), valueRecordFromSql, toRecord,
    ToSql (..), valueRecordToSql)
-import Database.Record.Persistable (unsafePersistableSqlTypeFromNull)
+import Database.Record.Persistable
+  (unsafePersistableSqlTypeFromNull, unsafeValueWidth)
 
 
 instance PersistableType String where
@@ -21,8 +22,14 @@
 instance FromSql String Int where
   recordFromSql = valueRecordFromSql read
 
+instance PersistableWidth String where
+  persistableWidth = unsafeValueWidth
+
 instance ToSql String String where
   recordToSql = valueRecordToSql id
+
+instance PersistableWidth Int where
+  persistableWidth = unsafeValueWidth
 
 instance ToSql String Int where
   recordToSql = valueRecordToSql show
