diff --git a/Debug/Hoed/Observe.lhs b/Debug/Hoed/Observe.lhs
--- a/Debug/Hoed/Observe.lhs
+++ b/Debug/Hoed/Observe.lhs
@@ -253,7 +253,9 @@
 --      | selName m == "" = M1 y
 --      | otherwise       = M1 (send (selName m) (return y) cxt)
 instance (GObservable a, Selector s) => GObservable (M1 S s a) where
-        gdmobserver m@(M1 x) cxt = M1 (gdmobserver x cxt)
+        gdmobserver m@(M1 x) cxt
+          | selName m == "" = M1 (gdmobserver x cxt)
+          | otherwise       = M1 (send (selName m ++ " =") (gdmObserveChildren x) cxt)
         gdmObserveChildren = gthunk
 
 -- Unit: used for constructors without arguments
diff --git a/Hoed.cabal b/Hoed.cabal
--- a/Hoed.cabal
+++ b/Hoed.cabal
@@ -1,7 +1,7 @@
 name:                Hoed
-version:             0.1.0.0
-synopsis:            Debug anything without recomping everything!
-description:         Lighweight debugging based on the observing of intermediate values. How values are observed can be derived with the Generic Deriving Mechanism, or generated with Template Haskell.
+version:             0.1.0.1
+synopsis:            Debug anything without recompiling everything!
+description:         Lightweight debugging based on the observing of intermediate values. How values are observed can be derived with the Generic Deriving Mechanism, or generated with Template Haskell.
 homepage:            http://maartenfaddegon.nl/pub
 license:             BSD3
 license-file:        LICENSE
@@ -22,29 +22,38 @@
   build-depends:       base >=4.6 && <5, template-haskell >=2.7.0 && <2.10, array
   default-language:    Haskell2010
 
-Executable hoed-examples-SternBrocot
+Executable hoed-examples-GDM-hello
   if flag(buildExamples)
         build-depends: base >= 4.6 && < 5, Hoed
   else
         buildable: False
-  main-is:             SternBrocot.lhs
+  main-is:             GDM-hello.hs
   hs-source-dirs:      examples
   default-language:    Haskell2010
 
-Executable hoed-examples-GDM-hello
+Executable hoed-examples-TH-hello
   if flag(buildExamples)
         build-depends: base >= 4.6 && < 5, Hoed
   else
         buildable: False
-  main-is:             GDM-hello.hs
+  main-is:             TH-hello.hs
   hs-source-dirs:      examples
   default-language:    Haskell2010
 
-Executable hoed-examples-TH-hello
+Executable hoed-examples-SternBrocot
   if flag(buildExamples)
         build-depends: base >= 4.6 && < 5, Hoed
   else
         buildable: False
-  main-is:             TH-hello.hs
+  main-is:             SternBrocot.lhs
+  hs-source-dirs:      examples
+  default-language:    Haskell2010
+
+Executable hoed-examples-GDM-selectors
+  if flag(buildExamples)
+        build-depends: base >= 4.6 && < 5, Hoed
+  else
+        buildable: False
+  main-is:             Selectors.hs
   hs-source-dirs:      examples
   default-language:    Haskell2010
diff --git a/examples/Selectors.hs b/examples/Selectors.hs
new file mode 100644
--- /dev/null
+++ b/examples/Selectors.hs
@@ -0,0 +1,10 @@
+{-# LANGUAGE DeriveGeneric #-}
+import Debug.Hoed.Observe
+
+data Basket = FruitBasket { appels :: Int, pears :: Int } deriving (Generic)
+instance Observable Basket
+
+s FruitBasket {appels=a,pears=p} = a + p
+b = FruitBasket {appels=40,pears=2}
+
+main = (runO . putStrLn . show) (s $ gdmobserve "b" b)
