why do we need this type? If we need it, why not:
```scala
sealed trait Hash[@specialized(Int, Long), T] {
  def get: T
}
```
to at least put some kind of structure on Hash.