scalaz/scalaz — pull request #798 by puffnfresh (2014-08-26 15:30:33+00:00)
Title: Arrows are strong profunctors

This changes Arrows from extending Profunctor to extending a new
type-class called `Strong` which extracts out the `first` and `second`
methods.

A dual `Costrong` type-class is included which has `cofirst` and
`cosecond`.

Instances are provided for Kleisli and Cokeisli.