Move getValue into a typeclass so Identity can be discarded