diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for barbies
 
+## 1.1.3.0
+  - `Wear` will raise a `TypeError` instead of getting
+    stuck (Alex Peitsinis).
+
 ## 1.1.2.1
   - Uploaded 1.1.2.0 was broken (missing `btraverseC`)
 
diff --git a/barbies.cabal b/barbies.cabal
--- a/barbies.cabal
+++ b/barbies.cabal
@@ -1,5 +1,5 @@
 name:           barbies
-version:        1.1.2.1
+version:        1.1.3.0
 synopsis:       Classes for working with types that can change clothes.
 description:    Types that are parametric on a functor are like Barbies that have an outfit for each role. This package provides the basic abstractions to work with them comfortably.
 category:       Data-structures
diff --git a/src/Data/Barbie/Internal/Wear.hs b/src/Data/Barbie/Internal/Wear.hs
--- a/src/Data/Barbie/Internal/Wear.hs
+++ b/src/Data/Barbie/Internal/Wear.hs
@@ -1,10 +1,13 @@
-{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeFamilies         #-}
+{-# LANGUAGE UndecidableInstances #-}
 module Data.Barbie.Internal.Wear
   ( Wear, Bare, Covered
   )
 
 where
 
+import GHC.TypeLits (ErrorMessage (..), TypeError)
+
 data Bare
 data Covered
 
@@ -31,3 +34,8 @@
 type family Wear t f a where
   Wear Bare    f a = a
   Wear Covered f a = f a
+  Wear t       _ _ = TypeError (     'Text "`Wear` should only be used with "
+                               ':<>: 'Text "`Bare` or `Covered`."
+                               ':$$: 'Text "`" ':<>: 'ShowType t ':<>: 'Text "`"
+                               ':<>: 'Text " is not allowed in this context."
+                               )
