I think we can get rid of this if, no? Doesn't the coerceBytes throw now for a type mismatch?