diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -2,18 +2,13 @@
 
 import Distribution.Simple
 import Distribution.Simple.PreProcess
-import Distribution.Simple.InstallDirs (mandir)
-import Distribution.PackageDescription (PackageDescription(..), Executable(..))
+import Distribution.PackageDescription (PackageDescription(..))
 import Distribution.Simple.Program (simpleProgram, Program(..))
 import Distribution.Simple.Utils ( rawSystemExitCode, findProgramVersion )
-import Data.Version
 import System.Exit
-import System.Directory ( findExecutable )
-import Distribution.Simple.Utils (info, notice, rawSystemExit, installOrdinaryFiles)
+import Distribution.Simple.Utils (info, notice, installOrdinaryFiles)
 import Distribution.Simple.Setup
 import Distribution.Simple.LocalBuildInfo
-import Distribution.Verbosity
-import qualified Control.Exception as E
 
 
 main :: IO ()
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,11 @@
+pandoc-citeproc (0.10.1.3)
+
+  * Fixed compiler warnings.
+  * Setup.hs - removed unnecessary imports.
+  * Travis improvements.  Run on stack lts-7, not earlier.
+    Disable optimizations for faster build.  Turn on warnings.
+  * Bump pandoc-types to 1.17.0.3 in stack.yaml.
+
 pandoc-citeproc (0.10.1.2)
 
   * Implemented notes-after-punctuation metadata field (#256).
diff --git a/pandoc-citeproc.cabal b/pandoc-citeproc.cabal
--- a/pandoc-citeproc.cabal
+++ b/pandoc-citeproc.cabal
@@ -1,5 +1,5 @@
 name:               pandoc-citeproc
-version:            0.10.1.2
+version:            0.10.1.3
 cabal-version:      >= 1.12
 synopsis:           Supports using pandoc with citeproc
 
@@ -24,7 +24,7 @@
 
 homepage:           https://github.com/jgm/pandoc-citeproc
 category:           Text
-tested-with:        GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1
+tested-with:        GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
 license:            BSD3
 license-file:       LICENSE
 author:             John MacFarlane, Andrea Rossato
@@ -105,40 +105,36 @@
                       data-default,
                       setenv >= 0.1 && < 0.2,
                       split, yaml >= 0.8.8.7
+    default-language: Haskell2010
+    default-extensions: CPP
+
     if impl(ghc < 7.6)
        build-depends: ghc-prim
 
     if flag(debug)
        build-depends:   pretty-show
-       default-extensions: CPP
        cpp-options:     -DTRACE
 
     if flag(bibutils)
        build-depends:   hs-bibutils >= 0.3
-       default-extensions: CPP
        cpp-options:     -DUSE_BIBUTILS
 
     if flag(embed_data_files)
-       default-extensions:    CPP
        Build-Tools:   hsb2hs >= 0.3.1
        cpp-options:   -DEMBED_DATA_FILES
        other-modules: Text.CSL.Data.Embedded
 
     if flag(unicode_collation)
        build-depends: text, text-icu
-       default-extensions:    CPP
        cpp-options:   -DUNICODE_COLLATION
     else
        build-depends: rfc5051
-       default-extensions:    CPP
 
     if impl(ghc >= 6.10)
        build-depends: base >= 4, syb, parsec, old-locale, time
     else
        build-depends: base >= 3 && < 4
 
-    default-language: Haskell98
-
 executable pandoc-citeproc
     main-is:          pandoc-citeproc.hs
     hs-source-dirs:   ., prelude
@@ -152,7 +148,7 @@
                       filepath
     other-modules:    Paths_pandoc_citeproc
                       Prelude
-    default-language: Haskell98
+    default-language: Haskell2010
     if flag(bibutils)
        default-extensions: CPP
        cpp-options:     -DUSE_BIBUTILS
@@ -172,7 +168,7 @@
                   filepath,
                   bytestring, pandoc-citeproc, process, temporary >= 1.1,
                   yaml >= 0.8.8.7, containers >= 0.4, vector >= 0.10
-  default-language: Haskell98
+  default-language: Haskell2010
 
 test-suite test-pandoc-citeproc
   Type:           exitcode-stdio-1.0
@@ -185,4 +181,4 @@
                   pandoc >= 1.16 && < 1.18, filepath,
                   bytestring, pandoc-citeproc, process, temporary >= 1.1,
                   yaml >= 0.8.8.7
-  default-language: Haskell98
+  default-language: Haskell2010
diff --git a/src/Text/CSL/Eval/Common.hs b/src/Text/CSL/Eval/Common.hs
--- a/src/Text/CSL/Eval/Common.hs
+++ b/src/Text/CSL/Eval/Common.hs
@@ -1,4 +1,7 @@
 {-# LANGUAGE PatternGuards #-}
+#if MIN_VERSION_base(4,9,0)
+{-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Text.CSL.Eval.Common
diff --git a/src/Text/CSL/Proc/Disamb.hs b/src/Text/CSL/Proc/Disamb.hs
--- a/src/Text/CSL/Proc/Disamb.hs
+++ b/src/Text/CSL/Proc/Disamb.hs
@@ -1,4 +1,7 @@
 {-# LANGUAGE PatternGuards #-}
+#if MIN_VERSION_base(4,9,0)
+{-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Text.CSL.Proc.Disamb
diff --git a/src/Text/CSL/Style.hs b/src/Text/CSL/Style.hs
--- a/src/Text/CSL/Style.hs
+++ b/src/Text/CSL/Style.hs
@@ -1,7 +1,12 @@
 {-# LANGUAGE OverloadedStrings, PatternGuards, DeriveDataTypeable,
     ScopedTypeVariables, FlexibleInstances, DeriveGeneric,
-    OverlappingInstances,
     GeneralizedNewtypeDeriving, CPP, MultiParamTypeClasses #-}
+#if MIN_VERSION_base(4,8,0)
+#define OVERLAPS {-# OVERLAPPING #-}
+#else
+{-# LANGUAGE OverlappingInstances #-}
+#define OVERLAPS
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Text.CSL.Style
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -8,12 +8,10 @@
 packages:
 - '.'
 - location:
-    git: https://github.com/jgm/pandoc-types.git
-    commit: 485eb11e9869fcd4c1ca9bcd68d3ccd384230252
-- location:
     git: https://github.com/jgm/pandoc.git
     commit: 6156cdda13ee5f9edbb11a672f6eb78631c3ffc5
 extra-deps:
 - texmath-0.8.6.6
 - doctemplates-0.1.0.2
-resolver: lts-7.2
+- pandoc-types-1.17.0.3
+resolver: lts-7.4
diff --git a/tests/isme.csl b/tests/isme.csl
new file mode 100644
--- /dev/null
+++ b/tests/isme.csl
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">
+  <info>
+    <title>The ISME Journal</title>
+    <id>http://www.zotero.org/styles/the-isme-journal</id>
+    <link href="http://www.zotero.org/styles/the-isme-journal" rel="self"/>
+    <link href="http://mts-isme.nature.com/cgi-bin/main.plex?form_type=display_auth_instructions" rel="documentation"/>
+    <author>
+      <name>Jessica Leigh</name>
+      <email>blackwednesday@gmail.com</email>
+    </author>
+    <category citation-format="author-date"/>
+    <category field="biology"/>
+    <issn>1751-7362</issn>
+    <eissn>1751-7370</eissn>
+    <summary>The ISME Journal style, which is not the same as for Nature</summary>
+    <updated>2014-12-02T15:48:05+00:00</updated>
+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
+  </info>
+  <macro name="editor">
+    <names variable="editor">
+      <name and="symbol" delimiter=", " name-as-sort-order="all" sort-separator=", " initialize-with="">
+        <name-part name="family" text-case="capitalize-first"/>
+        <name-part name="given" text-case="capitalize-first"/>
+      </name>
+      <label form="short" prefix=" (" strip-periods="true" suffix=")"/>
+    </names>
+  </macro>
+  <macro name="series-editor">
+    <names variable="original-author">
+      <label form="short" text-case="capitalize-first" suffix=" "/>
+      <name and="symbol" delimiter=", "/>
+    </names>
+  </macro>
+  <macro name="author">
+    <names variable="author">
+      <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always" initialize-with=""/>
+      <label form="short" prefix=" (" strip-periods="true" suffix=")"/>
+      <et-al font-style="italic"/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="author-short">
+    <names variable="author">
+      <name form="short" and="text" delimiter=", " delimiter-precedes-last="never"/>
+      <et-al font-style="italic"/>
+      <substitute>
+        <names variable="editor"/>
+        <names variable="translator"/>
+      </substitute>
+    </names>
+  </macro>
+  <macro name="access">
+    <choose>
+      <if variable="page" match="none">
+        <choose>
+          <if variable="DOI">
+            <text variable="DOI" prefix="doi:"/>
+          </if>
+          <else-if variable="URL">
+            <text variable="URL"/>
+            <group prefix=" (" suffix=")">
+              <text term="accessed" text-case="capitalize-first" suffix=" "/>
+              <date variable="accessed">
+                <date-part name="month" suffix=" "/>
+                <date-part name="day" suffix=", "/>
+                <date-part name="year"/>
+              </date>
+            </group>
+          </else-if>
+        </choose>
+      </if>
+    </choose>
+  </macro>
+  <macro name="title">
+    <choose>
+      <if type="thesis">
+        <text variable="title"/>
+      </if>
+      <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+        <text variable="title"/>
+      </else-if>
+      <else>
+        <text variable="title"/>
+      </else>
+    </choose>
+  </macro>
+  <macro name="publisher">
+    <group delimiter=": ">
+      <text variable="publisher"/>
+      <text variable="publisher-place"/>
+    </group>
+  </macro>
+  <macro name="year-date">
+    <date variable="issued">
+      <date-part name="year"/>
+    </date>
+  </macro>
+  <macro name="day-month">
+    <date variable="issued">
+      <date-part name="month"/>
+      <date-part name="day" prefix=" "/>
+    </date>
+  </macro>
+  <macro name="page">
+    <label variable="page" suffix=" " form="short"/>
+    <text variable="page"/>
+  </macro>
+  <macro name="edition">
+    <choose>
+      <if is-numeric="edition">
+        <group delimiter=" ">
+          <number variable="edition" form="ordinal"/>
+          <text term="edition" form="short"/>
+        </group>
+      </if>
+      <else>
+        <text variable="edition" suffix="."/>
+      </else>
+    </choose>
+  </macro>
+  <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">
+    <layout prefix="(" suffix=")" delimiter="; ">
+      <group delimiter=", ">
+        <text macro="author-short"/>
+        <text macro="year-date"/>
+        <text variable="locator"/>
+      </group>
+    </layout>
+  </citation>
+  <bibliography hanging-indent="false" et-al-min="7" et-al-use-first="2">
+    <sort>
+      <key macro="author"/>
+      <key variable="title"/>
+    </sort>
+    <layout suffix=".">
+      <group delimiter=" ">
+        <text macro="author" suffix="."/>
+        <text macro="year-date" prefix="(" suffix=")."/>
+      </group>
+      <choose>
+        <if type="article-newspaper article-magazine" match="any">
+          <group delimiter=" ">
+            <text macro="title" prefix=" " suffix="."/>
+          </group>
+          <group prefix=" " delimiter=", ">
+            <text variable="container-title"/>
+            <text macro="day-month"/>
+            <text variable="edition"/>
+          </group>
+        </if>
+        <else-if type="thesis">
+          <text macro="title" prefix=" " suffix="."/>
+          <group prefix=" " delimiter=", ">
+            <text macro="edition"/>
+            <text macro="editor" suffix="."/>
+            <text variable="genre"/>
+            <text macro="publisher"/>
+          </group>
+        </else-if>
+        <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
+          <group delimiter=" ">
+            <text macro="title" prefix=" " suffix="."/>
+            <text macro="edition"/>
+            <text macro="publisher"/>
+          </group>
+        </else-if>
+        <else-if type="chapter paper-conference" match="any">
+          <group delimiter=" ">
+            <text macro="title" prefix=" " suffix="."/>
+            <group prefix="In:" delimiter=", " suffix=".">
+              <text variable="container-title" font-style="italic"/>
+              <group delimiter=" ">
+                <text macro="editor" prefix=" "/>
+                <text variable="collection-title"/>
+                <text variable="volume" prefix="Vol. "/>
+                <text macro="series-editor"/>
+              </group>
+              <text macro="publisher" prefix=" "/>
+              <text macro="page" prefix=" "/>
+            </group>
+          </group>
+        </else-if>
+        <else>
+          <group suffix=".">
+            <text macro="title" prefix=" "/>
+            <text macro="editor" prefix=" "/>
+          </group>
+          <group prefix=" " suffix="." delimiter=" ">
+            <text variable="container-title" form="short" strip-periods="true" font-style="italic"/>
+            <group delimiter=":">
+              <text variable="volume" font-weight="bold"/>
+              <text variable="page"/>
+            </group>
+          </group>
+        </else>
+      </choose>
+      <text prefix=" " macro="access" suffix="."/>
+    </layout>
+  </bibliography>
+</style>
