Turf was in the middle of a construct that has a fixed shape and found something other than the next fixed piece. The message names the exact word or symbol it wanted.
A few of the fixed shapes:
Example
for i in 0..10 { ... } // `in` after the loop variabledo { ... } while keep_going; // `while` after a do-blockgive a otherwise b // `otherwise` after `give`compare x { matches 1: ... } // `matches` or `otherwise` in a comparevalue recover run { ... }; // `run`, `produce` or `as` after `recover`extern fn malloc(n: int): ptr; // `fn` after `extern`export immut MAX: int = 3; // `immut` after `export`machine Door { Open -> Closed } // `->` between two statesCompare what you wrote with the shape above and add or fix the piece the message asks for. If you wrote a lookalike (a then instead of {, := instead of =), that is the one to change: Turf has no alias for it.
Run turf --explain E110 in a terminal to read this again.