diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,12 @@
 # Changelog for shake-plus-extended
 
+## v0.2.0.0
+
+* Re-export `Binary Path` orphan.
+* Re-export `Binary IxSet` orphan.
+* Re-export `Hashable IxSet` orphan.
+* Merge `Shakebook.Local` with `Shakebook.FileRules`
+
 ## v0.1.2.0
 
 * Add a proxy version of `batchLoadIndex`.
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-import Distribution.Simple
-main = defaultMain
diff --git a/shake-plus-extended.cabal b/shake-plus-extended.cabal
--- a/shake-plus-extended.cabal
+++ b/shake-plus-extended.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           shake-plus-extended
-version:        0.1.2.0
+version:        0.2.0.0
 synopsis:       Experimental extensions to shake-plus
 description:    Experimental extensions to shake-plus - `within`-style file rules, HashMap and IxSet batch loaders.
 category:       development, shake
@@ -28,7 +28,6 @@
       Development.Shake.Plus.Extended
       Development.Shake.Plus.Extended.FileRules
       Development.Shake.Plus.Extended.Loaders
-      Development.Shake.Plus.Extended.Local
       Development.Shake.Plus.Extended.Simple
   other-modules:
       Paths_shake_plus_extended
@@ -40,7 +39,10 @@
     , comonad
     , extra
     , ixset-typed
+    , ixset-typed-binary-instance
+    , ixset-typed-hashable-instance
     , path
+    , path-binary-instance
     , rio
     , shake
     , shake-plus >=0.3.0.0
diff --git a/src/Development/Shake/Plus/Extended.hs b/src/Development/Shake/Plus/Extended.hs
--- a/src/Development/Shake/Plus/Extended.hs
+++ b/src/Development/Shake/Plus/Extended.hs
@@ -19,3 +19,6 @@
 import Development.Shake.Plus.Extended.Loaders
 import Development.Shake.Plus.Extended.Local
 import Development.Shake.Plus.Extended.Simple
+import Path.Binary()
+import Data.IxSet.Typed.Binary()
+import Data.IxSet.Typed.Hashable()
diff --git a/src/Development/Shake/Plus/Extended/FileRules.hs b/src/Development/Shake/Plus/Extended/FileRules.hs
--- a/src/Development/Shake/Plus/Extended/FileRules.hs
+++ b/src/Development/Shake/Plus/Extended/FileRules.hs
@@ -7,7 +7,10 @@
 
 -}
 module Development.Shake.Plus.Extended.FileRules (
-  (%^>)
+  HasLocalOut(..)
+, (/%>)
+, (|/%>)
+, (%^>)
 , (|%^>)
 ) where
 
@@ -17,6 +20,21 @@
 import           Development.Shake.Plus
 import           RIO                         as R
 import           Within
+
+class HasLocalOut r where
+  localOutL :: Lens' r (Path Rel Dir)
+
+-- | Variant of `(%>)` that passes the local directory from the environment into the callback.
+(/%>) :: (MonadReader r m, HasLocalOut r, MonadRules m) => FilePattern -> ((Path Rel Dir, Path Rel File) -> RAction r ()) -> m ()
+(/%>) xs ract = ask >>= \r -> do
+  let d = view localOutL r
+  (toFilePath d <> xs) %> (stripProperPrefix d >=> \x -> ract (d, x))
+
+-- | Variant of `(|%>)` that passes the local directory from the environment into the callback.
+(/|%>) :: (MonadReader r m, HasLocalOut r, MonadRules m) => [FilePattern] -> ((Path Rel Dir, Path Rel File) -> RAction r ()) -> m ()
+(/|%>) xs ract = ask >>= \r -> do
+  let d = view localOutL r
+  ((toFilePath d <>) <$> xs) |%> (stripProperPrefix d >=> \x -> ract (d, x))
 
 -- | `Within` variant of `(%>)`, used to keep track of local directories.
 (%^>) :: (Partial, MonadReader r m, MonadRules m) => Within Rel FilePattern -> (Within Rel (Path Rel File) -> RAction r ()) -> m ()
diff --git a/src/Development/Shake/Plus/Extended/Local.hs b/src/Development/Shake/Plus/Extended/Local.hs
deleted file mode 100644
--- a/src/Development/Shake/Plus/Extended/Local.hs
+++ /dev/null
@@ -1,19 +0,0 @@
-module Development.Shake.Plus.Extended.Local where
-
-import Development.Shake.Plus
-import RIO
-import Path
-import Within
-
-class HasLocalOut r where
-  localOutL :: Lens' r (Path Rel Dir)
-
-(/%>) :: (MonadReader r m, HasLocalOut r, MonadRules m) => FilePattern -> ((Path Rel Dir, Path Rel File) -> RAction r ()) -> m ()
-(/%>) xs ract = ask >>= \r -> do
-  let d = view localOutL r
-  (toFilePath d <> xs) %> (stripProperPrefix d >=> \x -> ract (d, x))
-
-(/|%>) :: (MonadReader r m, HasLocalOut r, MonadRules m) => [FilePattern] -> ((Path Rel Dir, Path Rel File) -> RAction r ()) -> m ()
-(/|%>) xs ract = ask >>= \r -> do
-  let d = view localOutL r
-  ((toFilePath d <>) <$> xs) |%> (stripProperPrefix d >=> \x -> ract (d, x))
