Fix kwargs updating when no fields have changed.

Now properly no-ops.
Improve tests.
Add coverage.
Improve introduction.