This is one of the more complicated conversions in the crate, and right now it's only minimally tested.