NB I removed free variables from the LookupFunc implementations, to avoid confusion between `s` the receiver and the closed-over `s`. Also corrected a mistake in the write error log message.
NB I removed free variables from the LookupFunc implementations, to avoid confusion between `s` the receiver and the closed-over `s`. Also corrected a mistake in the write error log message.