diff --git a/example/Synthesizer/LLVM/Test.hs b/example/Synthesizer/LLVM/Test.hs
--- a/example/Synthesizer/LLVM/Test.hs
+++ b/example/Synthesizer/LLVM/Test.hs
@@ -168,7 +168,14 @@
 frequency :: Float -> Param.T p Float
 frequency = return
 
+{- |
+Assist GHC-7.10.3 with determining the type of causal processes.
+GHC-7.8.4 and GHC-8.0.1 do not need it.
+-}
+causalP :: CausalP.T p a b -> CausalP.T p a b
+causalP = id
 
+
 constant :: Float -> IO ()
 constant y =
    SV.writeFile "speedtest.f32" $ asMono $ flip Sig.render 1000 $ Sig.constant y
@@ -208,7 +215,7 @@
    SV.writeFile "speedtest.f32" $
    asMonoPacked $
    (\xs -> SigP.render xs (div 10000000 4) ()) $
-   (CausalPS.osciSimple Wave.triangle
+   (causalP (CausalPS.osciSimple Wave.triangle)
      $< SigPS.constant 0.25
      $* SigPS.constant 0.01)
 
@@ -217,11 +224,12 @@
    SV.writeFile "speedtest.f32" $
    asMonoPacked $
    (\xs -> SigP.render xs (div 10000000 4) ()) $
-   (CausalPS.shapeModOsci
+   (causalP
+     (CausalPS.shapeModOsci
        (\k p -> do
            x <- Wave.triangle =<< Wave.replicate k p
            y <- Wave.approxSine4 =<< Wave.halfEnvelope p
-           A.mul x y)
+           A.mul x y))
      $< SigPS.rampInf 1000000
      $< SigPS.constant 0
      $* SigPS.constant 0.01)
@@ -231,7 +239,7 @@
    SV.writeFile "speedtest.f32" $
    asMonoPacked $
    (\xs -> SigP.render xs (div 10000000 4) ()) $
-   (CausalPS.shapeModOsci Wave.rationalApproxSine1
+   (causalP (CausalPS.shapeModOsci Wave.rationalApproxSine1)
      $< (0.001 + SigPS.rampInf 10000000)
      $< SigPS.constant 0
      $* SigPS.constant 0.01)
@@ -244,11 +252,11 @@
    (\xs -> SigP.render xs (div 10000000 4) ()) $
    Sig.map StereoInt.interleave $
    liftA2 Stereo.cons
-      (CausalPS.shapeModOsci Wave.rationalApproxSine1
+      (causalP (CausalPS.shapeModOsci Wave.rationalApproxSine1)
         $< (0.001 + SigPS.rampInf 10000000)
         $< SigPS.constant (-0.25)
         $* SigPS.constant 0.00999)
-      (CausalPS.shapeModOsci Wave.rationalApproxSine1
+      (causalP (CausalPS.shapeModOsci Wave.rationalApproxSine1)
         $< (0.001 + SigPS.rampInf 10000000)
         $< SigPS.constant 0.25
         $* SigPS.constant 0.01001)
@@ -300,7 +308,7 @@
    SV.writeFile "speedtest-scalar.f32" $
    asMono $
    (\xs -> SigP.render xs 10000000 ()) $
-   (Filt1.lowpassCausal
+   (causalP Filt1.lowpassCausal
      $< (fmap Filt1Core.Parameter $
          1 - (Sig.exponential2 50000 1))
      $* SigP.osciSimple Wave.triangle 0 (frequency 0.01))
@@ -310,7 +318,7 @@
    SV.writeFile "speedtest-vector.f32" $
    asMonoPacked $
    (\xs -> SigP.render xs (div 10000000 4) ()) $
-   (Filt1.lowpassCausalPacked
+   (causalP Filt1.lowpassCausalPacked
      $< (fmap Filt1Core.Parameter $
          1 - (Sig.exponential2 (50000/4) 1))
      $* SigPS.osciSimple Wave.triangle 0 (frequency 0.01))
@@ -469,7 +477,7 @@
    SVL.take (div 10000000 16) $
    asMonoPacked16 $
    flip (SigP.renderChunky (SVL.chunkSize 10000)) () $
-   (Filt2.causalPacked
+   (causalP Filt2.causalPacked
       $< (SigP.constant $#
              Filt2Core.Parameter (1::Float) 0 0   0 0.99)
       $* (
@@ -540,7 +548,7 @@
    SVL.take 10000000 $
    asMono $
    flip (SigP.renderChunky (SVL.chunkSize 10000)) () $
-   (0.2 * Filt2.causal
+   (0.2 * causalP Filt2.causal
       $< (Sig.map (const $
              (Memory.load =<< LLVM.alloca ::
                  LLVM.CodeGenFunction r (Filt2.Parameter (Value Float)))) $
@@ -1067,10 +1075,10 @@
        halfLife = 5000
        -- sine = Wave.sine
        sine = Wave.approxSine4
-   in  CausalP.envelope
+   in  causalP CausalP.envelope
          $< SigP.exponential2 halfLife 1
          $* (((CausalP.osciSimple sine
-                $< (CausalP.envelope
+                $< (causalP CausalP.envelope
                        $< SigP.exponential2 halfLife modDepth
                        $* (CausalP.osciSimple sine
                               $* SigP.constant (return (0::Float) &&& (2*freq)))))
diff --git a/synthesizer-llvm.cabal b/synthesizer-llvm.cabal
--- a/synthesizer-llvm.cabal
+++ b/synthesizer-llvm.cabal
@@ -1,5 +1,5 @@
 Name:           synthesizer-llvm
-Version:        0.8.1
+Version:        0.8.1.1
 License:        GPL
 License-File:   LICENSE
 Author:         Henning Thielemann <haskell@henning-thielemann.de>
@@ -54,10 +54,10 @@
 
 Flag jack
   description: Build JACK synthesizer if examples are built
-  default:     True
+  default:     False
 
 Source-Repository this
-  Tag:         0.8.1
+  Tag:         0.8.1.1
   Type:        darcs
   Location:    http://code.haskell.org/synthesizer/llvm/
 
