The state of `String` is pretty dire so I have introduced an intermediary module with turns a `string` into `list ascii` so that I can reuse all the functions defined on `list` but not on `string`...