Add InvariantFunctor (from Scalaz 6)
Generalized enumArray to enumIndexedSeq.

This retains the enumArray function for backwards compatibility,
but it now just delegates to enumIndexedSeq. In theory, there's
nothing functionally that prevents this from being generalized
further to take a Seq instead, except that the implementation
would prefer to have a performant apply(). Since you'd likely
only want to feed this an indexed sequence, preferring a
different enumeration for a non-indexed one, it seems safer to
only generalize it this far.
fix typo
Merge pull request #367 from xuwei-k/curried-typo

fix typo
Travis: allow build failure for 2.9.3 on openjdk6

In the past days, this particular combination failed or errored because of
underlying system failure (JVM died, unable to create native threads, ...).
Hence, disabling it for now.
Revert "remove MetricSpace and BKTree"

This reverts commit 468e425c749dbe48349e288bbbc9d6159296f13a (#347).
deprecation warnings for `BKTree` and `MetricSpace`
work around a scalac warning wrt annotations and named arguments
Adds traverseM to traverseOps

A utility method for the very common F[A].traverse(f: A => G[F[B]]).map(Monad[F].join) : G[F[B]] pattern.
fix ApplyOps scaladoc

s/mapN/applyN
mapN already removed 14c5ba4943e57ce14
Merge pull request #369 from xuwei-k/fix-ApplyOps-scaladoc

fix ApplyOps scaladoc
Added Equal instance for any subclass of java.lang.Enum

This uses instance quality (`eq` in Scala, `==` in Java), which is safe due to
the JLS (Java SE 7), §8.9:

  An enum type has no instances other than those defined by its enum constants.
  It is a compile-time error to attempt to explicitly instantiate an enum type
  (§15.9.1).

  [...]

  Because there is only one instance of each enum constant, it is permissible
  to use the == operator in place of the equals method when comparing two
  object references if it is known that at least one of them refers to an enum
  constant.

Contributed by @oxbowlakes
remove dead code
clean up type class product/composition
put `\/`/`NonEmptyList` specific syntax into own syntax traits

Deprecate corresponding methods in `IdOps`.
use specs2's built-in equality matcher instead of ours

In `StreamTTest`, the random inputs to the `mapM` property can produce very
long streams. When specs2 is trying to generate the `okMessage` of the
`MatchResult`, it uses `Show[Stream[Int]]`, which internally constructs a
`FingerTree`. That process causes a stack overflow.
Revert "Travis: allow build failure for 2.9.3 on openjdk6"

These failures were completely spurious.

This reverts commit 272a14a15cdb81c1f9aa6ec194f7f05e58e90277.
remove dead code
Merge pull request #372 from xuwei-k/remove-set-each

remove dead code
Implement `xhoist`

Also fix a few stylistic issues.