I'm not sure I understand. We use a ByteString instead of a PersistValue because no suitable PersistValue exists. If the parameter for PersistDbSpecific is a PersistValue, we have the same problem all over again.