diff --git a/derive-has-field.cabal b/derive-has-field.cabal
--- a/derive-has-field.cabal
+++ b/derive-has-field.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           derive-has-field
-version:        0.0.1.5
+version:        0.1.0.0
 synopsis:       Derive HasField instances with Template Haskell
 description:    A Template Haskell function to derive HasField instances to utilize OverloadedRecordDot more effectively.
 category:       Template Haskell
diff --git a/src/DeriveHasField.hs b/src/DeriveHasField.hs
--- a/src/DeriveHasField.hs
+++ b/src/DeriveHasField.hs
@@ -28,6 +28,8 @@
   constructorInfo <- case datatypeInfo.datatypeCons of
     [info] -> pure info
     _ -> fail "deriveHasField: only supports product types with a single data constructor"
+  when (nameBase constructorInfo.constructorName /= nameBase datatypeInfo.datatypeName) $
+    fail "deriveHasField: type and data constructor must have the same string representation"
   let dropPrefix prefix input = fromMaybe input $ stripPrefix prefix input
   makeDeriveHasField (dropPrefix $ lowerFirst $ nameBase constructorInfo.constructorName) datatypeInfo
 
