add more explicit return type. s/private[scalaz] trait/private trait/

for more binary compatibility. `private` modifier is more strong restriction than `private[scalaz]`.

`private[scalaz]`

```scala
sealed abstract class FooInstances{
  // NOT compile errer
  implicit def fooInstance = new FooEqual{

  }
}

private[scalaz] trait FooEqual extends Equal[Foo]{
  // something code
}
```

just `private`

```scala
sealed abstract class FooInstances{
  // compile errer! compiler says
  // "private trait FooEqual escapes its defining scope as part of type FooEqual"
  implicit def fooInstance = new FooEqual{

  }
}

private trait FooEqual extends Equal[Foo]{
  // something code
}
```

I think type class implementation traits are internal implementation detail. always need explicit return type annotation.