Actually, an even better solution: read into `double` temporaries always, and then just cast them to `CGFloat` when setting the `insets`.