Fix partial case match warning.
Clean up signatures, add docs.

Seems more logical to put diffing in Diff as apply of the companion object.
WIP
WIP
Add No-Op interpreter.