diff --git a/Data/Array/Shaped/Instances.hs b/Data/Array/Shaped/Instances.hs
new file mode 100644
--- /dev/null
+++ b/Data/Array/Shaped/Instances.hs
@@ -0,0 +1,59 @@
+--
+-- Numeric instances that can be useful, but might not be what you want.
+--
+{-# OPTIONS_GHC -Wno-orphans #-}
+module Data.Array.Shaped.Instances where
+import Data.Array.Shaped
+
+instance (Shape sh, Num a) => Num (Array sh a) where
+  (+) = zipWithA (+)
+  (-) = zipWithA (-)
+  (*) = zipWithA (*)
+  negate = mapA negate
+  abs = mapA abs
+  signum = mapA signum
+  fromInteger = constant . fromInteger
+
+instance (Shape sh, Fractional a) => Fractional (Array sh a) where
+  (/) = zipWithA (/)
+  recip = mapA recip
+  fromRational = constant . fromRational
+
+instance (Shape sh, Floating a) => Floating (Array sh a) where
+  pi = constant pi
+  exp = mapA exp
+  log = mapA log
+  sqrt = mapA sqrt
+  (**) = zipWithA (**)
+  logBase = zipWithA logBase
+  sin = mapA sin
+  cos = mapA cos
+  tan = mapA tan
+  asin = mapA asin
+  acos = mapA acos
+  atan = mapA atan
+  sinh = mapA sinh
+  cosh = mapA cosh
+  tanh = mapA tanh
+  asinh = mapA asinh
+  acosh = mapA acosh
+  atanh = mapA atanh
+
+-- Real cannot be implemented, but is a superclass of Integral.
+instance (Shape sh, Real a) => Real (Array sh a) where
+  toRational _ = error "toRational of an Array"
+
+-- Enum cannot be implemented, but is a superclass of Integral.
+instance (Shape sh, Enum a) => Enum (Array sh a) where
+  toEnum _ = error "toEnum of an Array"
+  fromEnum _ = error "fromEnum of an Array"
+
+-- Integral can only be partially implemented
+instance (Shape sh, Integral a) => Integral (Array sh a) where
+  quot = zipWithA quot
+  rem = zipWithA rem
+  div = zipWithA div
+  mod = zipWithA mod
+  quotRem x y = (quot x y, rem x y)
+  divMod x y = (div x y, mod x y)
+  toInteger _ = error "toInteger of an Array"
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,6 +8,9 @@
 
 This is a library for multi-dimensional arrays inspired by APL.
 
+### See also
+The orthotope-hmatrix repo contains some more functionality.
+
 ## Multi-dimensional arrays
 
 Each array has a number of elements of the same type, and a *shape*. The shape
diff --git a/orthotope.cabal b/orthotope.cabal
--- a/orthotope.cabal
+++ b/orthotope.cabal
@@ -1,5 +1,5 @@
 name:                orthotope
-version:             0.1.1.0
+version:             0.1.2.0
 synopsis:            Multidimensional arrays inspired by APL
 license:             Apache
 license-file:        LICENSE
@@ -7,7 +7,7 @@
 category:            array
 maintainer:          lennart@augustsson.net
 description:         Multidimensional arrays inspired by APL.
-                     The library contains a wide variety of structurual
+                     The library contains a wide variety of structural
                      operations on arrays, but not actual algorithms.
 build-type:          Simple
 cabal-version:       >=1.10
@@ -35,6 +35,7 @@
                      , Data.Array.RankedU
                      , Data.Array.Shape
                      , Data.Array.Shaped
+                     , Data.Array.Shaped.Instances
                      , Data.Array.ShapedG
                      , Data.Array.ShapedS
                      , Data.Array.ShapedU
