Can we use a type that does not extend function here? When you have an implicit function in scope, it can be used for implicit conversions, which will give K all the methods of Array[Byte] (there are a lot: http://www.scala-lang.org/api/current/index.html#scala.Array ) and might be confusing.

```scala
trait Encoder[K, T] {
  def apply(k: K): T
}
```
or we can punt, add this to bijection, and make bijection a dep of scalding.