why do we have `inj` and not `implicit hash: OneWayFunction[K, Hash128]`