diff --git a/numhask-range.cabal b/numhask-range.cabal
--- a/numhask-range.cabal
+++ b/numhask-range.cabal
@@ -1,11 +1,11 @@
--- This file has been generated from package.yaml by hpack version 0.20.0.
+-- This file has been generated from package.yaml by hpack version 0.28.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: eb71b3256d9227210388010a697953048c3c2bb2f48b3d3d4c8cb6c4eda5aee7
+-- hash: 03d5d2d549e5d386f737a73e46866712a816b0c76dd598e3e77bd88bc147c19e
 
 name:           numhask-range
-version:        0.2.2.0
+version:        0.2.2.1
 synopsis:       Numbers that are range representations
 description:    Numbers that represent ranges of all sorts.
 category:       project
@@ -18,7 +18,6 @@
 license-file:   LICENSE
 build-type:     Simple
 cabal-version:  >= 1.10
-
 extra-source-files:
     stack.yaml
 
@@ -36,7 +35,7 @@
     , adjunctions
     , base >=4.7 && <4.12
     , distributive
-    , numhask-prelude >=0.0.4.0
+    , numhask-prelude >=0.0.5.1
     , protolude
     , semigroupoids
   exposed-modules:
@@ -59,7 +58,7 @@
   build-depends:
       base >=4.7 && <5
     , doctest
-    , numhask-prelude >=0.0.4.0
+    , numhask-prelude >=0.0.5.1
     , numhask-range
     , tasty
   other-modules:
diff --git a/src/NumHask/Pair.hs b/src/NumHask/Pair.hs
--- a/src/NumHask/Pair.hs
+++ b/src/NumHask/Pair.hs
@@ -233,8 +233,7 @@
   exp (Pair a b) = Pair (exp a) (exp b)
   log (Pair a b) = Pair (log a) (log b)
 
-instance (UpperBoundedField a) => UpperBoundedField (Pair a) where
-  isNaN (Pair a b) = isNaN a || isNaN b
+instance (UpperBoundedField a) => UpperBoundedField (Pair a)
 
 instance (LowerBoundedField a) => LowerBoundedField (Pair a)
 
diff --git a/src/NumHask/Range.hs b/src/NumHask/Range.hs
--- a/src/NumHask/Range.hs
+++ b/src/NumHask/Range.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE ExtendedDefaultRules #-}
+{-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE InstanceSigs #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
@@ -35,6 +36,7 @@
 
 -- $setup
 -- >>> :set -XNoImplicitPrelude
+-- >>> :set -XFlexibleContexts
 
 -- | A continuous range over type a
 --
@@ -262,8 +264,8 @@
 
 -- | turn a range into n `a`s pleasing to human sense and sensibility
 -- the `a`s may well lie outside the original range as a result
-gridSensible :: (FromInteger a, Fractional a, QuotientField a, ExpField a) =>
-    Pos -> Range a -> Int -> [a]
+gridSensible :: (FromInteger a, Fractional a, QuotientField a Integer, ExpField a) =>
+    Pos -> Range a -> Integer -> [a]
 gridSensible tp (Range l u) n =
     (+ if tp==MidPos then step/two else zero) <$> posns
   where
@@ -276,8 +278,8 @@
       | err <= 0.35 = 5 * step'
       | err <= 0.75 = 2 * step'
       | otherwise = step'
-    first' = step * fromIntegral (ceiling (l/step))
-    last' = step * fromIntegral (floor (u/step))
+    first' = step * fromIntegral (ceiling (l/step) :: Integer)
+    last' = step * fromIntegral (floor (u/step) :: Integer)
     n' = round ((last' - first')/step)
     (i0,i1) = case tp of
                 OuterPos -> (0,n')
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,8 +1,9 @@
-resolver: nightly-2018-05-08
+resolver: nightly-2018-05-28
 
 packages:
   - .
 
 extra-deps:
-  - numhask-prelude-0.0.4.0
-  - numhask-0.2.1.0
+  - numhask-prelude-0.0.5.1
+  - numhask-0.2.2.0
+
