Use the types returned with the prepare

This struck me as the easy way to make this just work. Let me know if
there's something wrong with this approach I'm missing