Rearrange options
Simplify self-update code
Tweak notation
Add note
Improve error messages
Rewrite handling of constraints