I'm using this lib in browser and noticed that `NaN` is encoded to `float32` by default. Would expect it to raise encoding error, same as `undefined`.