HA! I was just writing that same solution when I saw you beat me to it!

At the moment the provider assumes an integer primary key; there *was* a reason for this - I think it had to do with being able to reliably reference a key when you create a new record but I'm not sure now. Create an issue so this doesn't get lost
- I need to take another look at this and see if I can't unknot this assumption from the code.