Is there a way of making the wrapped type generic too?