There are huge differences in principle and practice between "no bad person should benefit" and "we should minimze the number of bad people who benefit and the extent to which they benefit."

The former makes basically anything impossible and whatever you release will be an accession to the latter. I think the only way you can get to "no bad person" is to shut down. The latter means putting in some higher amount of work and continuing to look for ways to reduce the amount of bad enabled or created.

That's true, I am continually learning to temper my idealism, particularly when working in developer tools and education.