I'm still not sold on this idea; I think it's too "intelligent", the documentation is hard to understand, and it'll be hard to explain to users.
Could someone please explain why the '-k' option (which already exists) doesn't solve the problem? Perhaps we can build on -k.