As might be guessed, this all started with a oneliner to scratch an itch, that just swelled (just... one... more... feature...) so I totally forgot about Safe. /me hangs head in shame. B::Deparse is of course also a great idea, since at least my main use is for obfus.
Maybe I will have the time later today. Thanks! :)
Update: I have decided to not implement Safe for now, at least. Reason for this is simple: I would have to allow eval as default, as so many nodes I use it on are obfus, and eval sets Safe aside anyways. When eval is not involved, you can usually determine if the script is safe anyways. Or you can just mirror the code, or deparse it - and if you don't trust it, don't run it (which is the same if you copy/paste also). If someone wants to patch the program with Safe, I'd be more than happy to incorporate it, but it is no feature I feel I need myself.
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>