diff --git a/do-notation-dsl.cabal b/do-notation-dsl.cabal
--- a/do-notation-dsl.cabal
+++ b/do-notation-dsl.cabal
@@ -2,15 +2,15 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: ccaebc69f4e2a90c260f2f0aae7895664f69da64f434fe09d967182f13b83aa2
+-- hash: 459c2a35390a84fc9177c863186f29b872f47590172db9660c3b103ac02372af
 
 name:           do-notation-dsl
-version:        0.1.0.0
+version:        0.1.0.1
 synopsis:       An alternative to monads
-description:    Please see the README on GitHub at <https://github.com/Atry/dsl#readme>
+description:    Please see the README on GitHub at <https://github.com/Atry/do-notation-dsl#readme>
 category:       Control, DSL, Effect, General, Language, Mutable State, IO, Polymorphism
-homepage:       https://github.com/Atry/dsl#readme
-bug-reports:    https://github.com/Atry/dsl/issues
+homepage:       https://github.com/Atry/do-notation-dsl#readme
+bug-reports:    https://github.com/Atry/do-notation-dsl/issues
 author:         Yang Bo
 maintainer:     pop.atry@gmail.com
 copyright:      2018 Yang Bo
@@ -24,7 +24,7 @@
 
 source-repository head
   type: git
-  location: https://github.com/Atry/dsl
+  location: https://github.com/Atry/do-notation-dsl
 
 library
   exposed-modules:
@@ -41,6 +41,7 @@
       Control.Dsl.Dsl
   hs-source-dirs:
       src
+  other-extensions: RebindableSyntax MultiParamTypeClasses TypeOperators FlexibleInstances FlexibleContexts UndecidableInstances RankNTypes GADTs ScopedTypeVariables
   build-depends:
       base >=4.7 && <5
   default-language: Haskell2010
@@ -52,6 +53,7 @@
       Paths_do_notation_dsl
   hs-source-dirs:
       test
+  other-extensions: TypeApplications
   ghc-options: -threaded -rtsopts -with-rtsopts=-N
   build-depends:
       base >=4.7 && <5
diff --git a/src/Control/Dsl.hs b/src/Control/Dsl.hs
--- a/src/Control/Dsl.hs
+++ b/src/Control/Dsl.hs
@@ -37,6 +37,9 @@
 >>> f True :: [String]
 ["foo","bar","baz"]
 
+>>> f False :: [String]
+["foo","baz"]
+
 >>> :{
 instance Dsl (Yield String) (IO ()) () where
   cpsApply (Yield a) = (Prelude.>>=) (putStrLn $ "Yield " ++ a)
diff --git a/src/Control/Dsl/Return.hs b/src/Control/Dsl/Return.hs
--- a/src/Control/Dsl/Return.hs
+++ b/src/Control/Dsl/Return.hs
@@ -2,10 +2,8 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE UndecidableInstances #-}
-{-# LANGUAGE ExistentialQuantification #-}
 {-# LANGUAGE RebindableSyntax #-}
 {-# LANGUAGE TypeOperators #-}
-{-# LANGUAGE TypeApplications #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE GADTs #-}
 
