Fix building on ghc-7.6 (base 4.6) for #713

Just add missing functions or rewrite in simple cases.
Also add explicit base version requirement.
Merge pull request #718 from dylex/ghc7.6

Fix building on ghc-7.6 (base 4.6) for #713