Add `withLen` combinator
Also test on GHC 7.8