Support building with GHC 7.10.

Bump version to 0.4.8.
diff --git a/anansi.cabal b/anansi.cabal
index 6bce380..b47063f 100644
--- a/anansi.cabal
+++ b/anansi.cabal
@@ -1,5 +1,5 @@
 name: anansi
-version: 0.4.7
+version: 0.4.8
 license: GPL-3
 license-file: license.txt
 author: John Millikin <john@john-millikin.com>, Dirk Laurie <dirk.laurie@gmail.com>
@@ -32,12 +32,15 @@
 source-repository this
   type: git
   location: https://john-millikin.com/code/anansi/
-  tag: anansi_0.4.7
+  tag: anansi_0.4.8
 
 library
   hs-source-dirs: lib
   ghc-options: -Wall -O2
 
+  if impl(ghc>=7.10)
+    ghc-options: -fno-warn-tabs
+
   build-depends:
       base >= 4.0 && < 5.0
     , bytestring >= 0.9
@@ -70,6 +73,9 @@
   hs-source-dirs: lib,src
   ghc-options: -Wall -O2
 
+  if impl(ghc>=7.10)
+    ghc-options: -fno-warn-tabs
+
   build-depends:
       base >= 4.0 && < 5.0
     , bytestring >= 0.9
diff --git a/lib/Anansi/Tangle.hs b/lib/Anansi/Tangle.hs
index 7dee48b..bdd4997 100644
--- a/lib/Anansi/Tangle.hs
+++ b/lib/Anansi/Tangle.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE TypeFamilies #-}
 
 -- Copyright (C) 2010-2011 John Millikin <jmillikin@gmail.com>
 --
diff --git a/lib/Anansi/Types.hs b/lib/Anansi/Types.hs
index 23fe75b..ae161d0 100644
--- a/lib/Anansi/Types.hs
+++ b/lib/Anansi/Types.hs
@@ -33,7 +33,8 @@
 
 import           Prelude hiding (FilePath)
 
-import           Control.Monad (liftM)
+import           Control.Applicative (Applicative, pure, (<*>))
+import           Control.Monad (ap, liftM)
 import qualified Control.Monad.Reader as Reader
 import           Control.Monad.Reader (ReaderT, EnvType, runReaderT)
 import qualified Control.Monad.Writer as Writer
@@ -99,6 +100,10 @@
 instance Functor LoomM where
 	fmap = liftM
 
+instance Applicative LoomM where
+	pure = return
+	(<*>) = ap
+
 instance Monad LoomM where
 	return = LoomM . return
 	(LoomM m) >>= f = LoomM $ do