Context: https://bugs.ruby-lang.org/issues/18492
Rescuing exceptions from a C-extension is complicated, and even seem
a bit broken on Windows.
It's much simpler to return a special unique value, and likely is more performant
too.
```
.......a.rb:1: warning: assigned but unused variable - a
...a.rb:1: warning: assigned but unused variable - a
..a.rb:1: warning: assigned but unused variable - a
.a.rb:1: warning: assigned but unused variable - a
..a.rb:1: warning: assigned but unused variable - a
.a.rb:1: warning: assigned but unused variable - a
..a.rb:1: warning: assigned but unused variable - a
..a.rb:1: warning: assigned but unused variable - a
a.rb:1: warning: assigned but unused variable - a
..a.rb:1: warning: assigned but unused variable - a
.......................
```