diff --git a/src/Test/TypeSpec/Core.hs b/src/Test/TypeSpec/Core.hs
--- a/src/Test/TypeSpec/Core.hs
+++ b/src/Test/TypeSpec/Core.hs
@@ -8,8 +8,6 @@
   -- * Pretty Printing Support
   , PrettyTypeSpec(..)
   , prettyIndentation
-  , nest'
-  , sentence
   , module ReExport
   )
   where
@@ -20,8 +18,6 @@
 import Test.TypeSpec.Internal.Result as ReExport
 import Text.PrettyPrint
 
-
-
 -- | A type specification.
 data TypeSpec expectation  where
   -- | Expect the given expectations to hold. If the compiler does not reject it -
@@ -37,8 +33,6 @@
 -- or an @ErrorMessage@.
 type family EvalExpectation (expectation :: k) :: Result k
 
--- ** Combining/Grouping collections
-
 -- | Given a pair @(expectation1, expectation2)@ try to evaluate the first then,
 -- if no error was returned, the second.
 type instance EvalExpectation '(a, b) =
@@ -67,25 +61,13 @@
 prettyIndentation :: Int
 prettyIndentation = 2
 
--- | Nest using the default indention `prettyIndentation`.
-nest' :: Doc -> Doc
-nest' = nest prettyIndentation
-
--- | Print a /sentence/ with the second part 'hang'ing from the first.
--- Generate: @predicate: object@
-sentence :: String -> Doc -> Doc
-sentence predicate object =
-  hang (text predicate <> colon <> space) 5 object
-
--- * Default instances
-
 instance
     ( PrettyTypeSpec expectation1
     , PrettyTypeSpec expectation2 )
   => PrettyTypeSpec '(expectation1, expectation2)
   where
     prettyTypeSpec _ =
-        prettyTypeSpec pe1 $+$ prettyTypeSpec pe2
+        prettyTypeSpec pe1 $$ prettyTypeSpec pe2
       where pe1 = Proxy :: Proxy expectation1
             pe2 = Proxy :: Proxy expectation2
 
@@ -100,6 +82,6 @@
   => PrettyTypeSpec (expectation ': rest)
   where
     prettyTypeSpec _ =
-        (prettyTypeSpec pe1) $+$ (prettyTypeSpec pe2)
+        (prettyTypeSpec pe1) $$ (prettyTypeSpec pe2)
       where pe1 = Proxy :: Proxy expectation
             pe2 = Proxy :: Proxy rest
diff --git a/src/Test/TypeSpec/Group.hs b/src/Test/TypeSpec/Group.hs
--- a/src/Test/TypeSpec/Group.hs
+++ b/src/Test/TypeSpec/Group.hs
@@ -33,6 +33,6 @@
   => PrettyTypeSpec (expectation1 -/- expectation2)
   where
     prettyTypeSpec _ =
-        prettyTypeSpec pe1 $+$ prettyTypeSpec pe2
+        prettyTypeSpec pe1 $$ prettyTypeSpec pe2
       where pe1 = Proxy :: Proxy expectation1
             pe2 = Proxy :: Proxy expectation2
diff --git a/src/Test/TypeSpec/Label.hs b/src/Test/TypeSpec/Label.hs
--- a/src/Test/TypeSpec/Label.hs
+++ b/src/Test/TypeSpec/Label.hs
@@ -26,4 +26,4 @@
 instance (KnownSymbol msg, PrettyTypeSpec x) => PrettyTypeSpec (It msg x) where
   prettyTypeSpec _ =
     (text (symbolVal (Proxy :: Proxy msg)))
-    $+$ nest prettyIndentation (prettyTypeSpec (Proxy :: Proxy x))
+    $$ nest prettyIndentation (prettyTypeSpec (Proxy :: Proxy x))
diff --git a/src/Test/TypeSpec/ShouldBe.hs b/src/Test/TypeSpec/ShouldBe.hs
--- a/src/Test/TypeSpec/ShouldBe.hs
+++ b/src/Test/TypeSpec/ShouldBe.hs
@@ -10,15 +10,12 @@
 
 import Data.Kind
 import Data.Type.Bool
-
-import Data.Typeable
 import GHC.TypeLits
 import Test.TypeSpec.Core
 import Test.TypeSpec.Internal.Apply ()
 import Test.TypeSpec.Internal.Either ()
 import Test.TypeSpec.Internal.Equality
 import Text.PrettyPrint
-import Type.Showtype
 
 -- | State that a type is equal to the type level @True@.
 data ShouldBeTrue :: expectation -> Type
@@ -40,82 +37,68 @@
 
 -- | State that one type is different to two other types. This must always be
 -- used right next to a 'ShouldBe' pair, otherwise this will not work.
-data ButNot :: shouldBe -> actual -> Type
+data ButNot :: shouldBe -> shouldntBe -> Type
 
 type instance
-  EvalExpectation (ButNot (ShouldBe expected actual) other) =
-    If (EqExtra expected actual)
-      (If (EqExtra expected other)
+  EvalExpectation (ButNot (ShouldBe actual expected) other) =
+    If (EqExtra actual expected)
+      (If (EqExtra other expected)
           (FAILED
             ('Text "Expected type: "
              ':$$: 'Text "   " ':<>: 'ShowType expected
              ':$$: 'Text "to be different from: "
              ':$$: 'Text "   " ':<>: 'ShowType other))
-          (OK (ButNot (ShouldBe expected actual) other)))
+          (OK (ButNot (ShouldBe actual expected) other)))
       (FAILED
         ('Text "Expected type: " ':<>: 'ShowType expected
          ':$$: 'Text "Actual type:   " ':<>: 'ShowType actual))
 
 -- | State that two types or type constructs are boiled down to the same type.
-data ShouldBe :: expected -> actual -> Type
+data ShouldBe :: actual -> expected -> Type
 
 type instance
-  EvalExpectation (ShouldBe expected actual) =
-    If (EqExtra expected actual)
-        (OK (ShouldBe expected actual))
+  EvalExpectation (ShouldBe actual expected) =
+    If (EqExtra actual expected)
+        (OK (ShouldBe actual expected))
         (FAILED
           ('Text "Expected type: " ':<>: 'ShowType expected
            ':$$: 'Text "Actual type:   " ':<>: 'ShowType actual))
 
 -- | State that two types or type constructs are NOT the same type.
-data ShouldNotBe :: expected -> actual -> Type
+data ShouldNotBe :: actual -> expected -> Type
 
 type instance
-  EvalExpectation (ShouldNotBe expected actual) =
+  EvalExpectation (ShouldNotBe actual expected) =
     If (EqExtra expected actual)
         (FAILED
           ('Text "Expected type: "
            ':$$: 'Text "   " ':<>: 'ShowType expected
            ':$$: 'Text "to be different from: "
            ':$$: 'Text "   " ':<>: 'ShowType actual))
-        (OK (ShouldNotBe expected actual))
+        (OK (ShouldNotBe actual expected))
 
 instance PrettyTypeSpec (ShouldBeTrue a) where
   prettyTypeSpec _px =
-    prettyBulletPoint $ text "Type == True"
+    prettyBulletPoint "ShouldBeTrue a"
 
 instance PrettyTypeSpec (ShouldBeFalse a) where
   prettyTypeSpec _px =
-    prettyBulletPoint $ text "Type == False"
+    prettyBulletPoint "ShouldBeFalse a"
 
 instance PrettyTypeSpec (ShouldBe a b) where
   prettyTypeSpec _px =
-    prettyBulletPoint $ text "Types are equal"
+    prettyBulletPoint "a `ShouldBe` b"
 
-instance (Showtype a, Showtype b) => PrettyTypeSpec (ShouldNotBe a b) where
+instance PrettyTypeSpec (ShouldNotBe a b) where
   prettyTypeSpec _px =
-      prettyBulletPoint
-        $ sentence "Type"  (text expected)
-        $$ sentence "differs from" (text actual)
-    where
-      expected = showtype (Proxy :: Proxy a)
-      actual = showtype (Proxy :: Proxy b)
+      prettyBulletPoint "a `ShouldNotBe` b"
 
 instance
-    (a ~ (ShouldBe a0 a1)
-    , Showtype a0
-    , Showtype a1
-    , Showtype b )
+    (a ~ (ShouldBe a0 a1))
   => PrettyTypeSpec (ButNot a b) where
     prettyTypeSpec _ =
-      prettyBulletPoint
-        $ (sentence "Type"
-                 (text (showtype (Proxy :: Proxy a0))))
-        $$ (sentence "is equal to"
-                 (text (showtype (Proxy :: Proxy a1))))
-        $$ (sentence "but not to"
-                 (text (showtype (Proxy :: Proxy b))))
+      prettyBulletPoint  "a 'ShouldBe' b 'ButNot' c"
 
 -- | Pretty print a test prefix by a bullet-point.
-prettyBulletPoint :: Doc -> Doc
-prettyBulletPoint doc = text "•" <+> doc
+prettyBulletPoint :: String -> Doc
+prettyBulletPoint doc = text "•" <+> text doc
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,67 +1,6 @@
-# This file was automatically generated by 'stack init'
-#
-# Some commonly used options have been documented as comments in this file.
-# For advanced use and comprehensive documentation of the format, please see:
-# http://docs.haskellstack.org/en/stable/yaml_configuration/
-
-# Resolver to choose a 'specific' stackage snapshot or a compiler version.
-# A snapshot resolver dictates the compiler version and the set of packages
-# to be used for project dependencies. For example:
-#
-# resolver: lts-3.5
-# resolver: nightly-2015-09-21
-# resolver: ghc-7.10.2
-# resolver: ghcjs-0.1.0_ghc-7.10.2
-# resolver:
-#  name: custom-snapshot
-#  location: "./custom-snapshot.yaml"
-resolver: nightly-2016-07-30
-
-# User packages to be built.
-# Various formats can be used as shown in the example below.
-#
-# packages:
-# - some-directory
-# - https://example.com/foo/bar/baz-0.0.2.tar.gz
-# - location:
-#    git: https://github.com/commercialhaskell/stack.git
-#    commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
-# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a
-#   extra-dep: true
-#  subdirs:
-#  - auto-update
-#  - wai
-#
-# A package marked 'extra-dep: true' will only be built if demanded by a
-# non-dependency (i.e. a user package), and its expr suites and benchmarks
-# will not be run. This is useful for tweaking upstream packages.
+resolver: lts-7.0
 packages:
 - '.'
-# Dependency packages to be pulled from upstream that are not in the resolver
-# (e.g., acme-missiles-0.3)
-extra-deps:
-  - show-type-0.1.1
-
-# Override default flag values for local packages and extra-deps
+extra-deps: []
 flags: {}
-
-# Extra package databases containing global packages
 extra-package-dbs: []
-
-# Control whether we use the GHC we find on the path
-# system-ghc: true
-#
-# Require a specific version of stack, using version ranges
-# require-stack-version: -any # Default
-# require-stack-version: ">=1.1"
-#
-# Override the architecture used by stack, especially useful on Windows
-# arch: i386
-# arch: x86_64
-#
-# Extra directories used by stack for building
-# extra-include-dirs: [/path/to/dir]
-# extra-lib-dirs: [/path/to/dir]
-#
-# Allow a newer minor version of GHC than the snapshot specifies
-# compiler-check: newer-minor
diff --git a/type-spec.cabal b/type-spec.cabal
--- a/type-spec.cabal
+++ b/type-spec.cabal
@@ -1,5 +1,5 @@
 name:                 type-spec
-version:              0.2.0.0
+version:              0.3.0.0
 synopsis:             Type Level Specification by Example
 description:          Please see README.md
 homepage:             https://github.com/sheyll/type-spec#readme
@@ -30,7 +30,6 @@
                      , Test.TypeSpec.Internal.Result
   build-depends:       base >= 4.9 && < 5
                      , pretty >= 1.1.3 && < 1.2
-                     , show-type >= 0.1.1
   default-language:    Haskell2010
   default-extensions:  ConstraintKinds
                      , CPP
