Fix efficiency claim for zipWith.
Merge pull request #101 from treeowl/zipdocfix

Fix efficiency claim for zipWith.
Fix Arbitrary instance for FingerTree

The previous version never generated deep trees containing Empty.
Also tweaked the size handling so that the tree size is closer to the
specified size (though it can still run over a bit).
Merge pull request #108 from RossPaterson/master

Fix Arbitrary instance for FingerTree
Reimplement <*>

It looks like this works! I have not yet worked out how to take
care of the `|xs| <= 9` case cleanly as yet, so this will still
need some work before it can go in.
Fix warnings
Use coerce for the Functor instance of Elem

Using `fmap = coerce` for `Elem` speeds up `<*>` by somewhere
around 25%.
Simplify <*>

The general case now works for trees size 7 and above, and it's
much less hairy.
Clean up <*> a bit

Move type definitions for `<*>` near where the types are used.

Rename meaningless variables to be a little more meaningful.
Reorder patterns to avoid silly guard.
Add cases to rigidify

It now can handle all trees with at least four elements. We don't
currently use it so flexibly, but leaving those unmatched cases
around seemed sketchy.
Further cleanup, of the apN stuff

Felipe Lessa suggested some minor changes.