Add non-strict usage

Check the readme for explanation.  If the readme is unclear, let me know because I'd like to improve it.

This PR also has a bunch of changes to pass rubocop.