Spelling error
Refactor add_mark_to_char()

When given an unfit mark, e.g: a + HORN, return the argument.
Don't remove entry in undo()

Instead, mark the entry as UNDONE
Introduce clear_transformations()
Add the TELEX input rules
Some utility functions
Implement main logic