Is there anyway to have the same restriction that $SAFE=4 would give
except the right to write to already opened IO?

More generally, would it make sense to have a more flexible way to
cherry pick what limitation to impose on a thread? Like:

Thread.new(:safe_no_eval => true) { eval(`rm -rf /`) } # => error

Is it usefull enough to justify the implementation time investment?
Would it have an unbearable performance hit?

Guillaume.