The behaviour of $tab sole-effects lacked a 'tab' key, so Soto wasn't catching or writing them to the screen. This commit amends both the handler and the sole-effect to fix that behaviour.
This commit amends the Soto application with style changes requested during code review, including structuring the mark conversion as a library.