Argument of type '(c: Context<Env, "/bar", BlankInput>) => Promise<HtmlEscapedString>' is not assignable to parameter of type 'H<Env, "/bar", BlankInput, HandlerResponse<any>>'.
Type '(c: Context<Env, "/bar", BlankInput>) => Promise<HtmlEscapedString>' is not assignable to type 'MiddlewareHandler<Env, "/bar", BlankInput>'.
Type 'Promise<HtmlEscapedString>' is not assignable to type 'Promise<void | Response>'.
Type 'HtmlEscapedString' is not assignable to type 'void | Response'.
No overload matches this call.
The last overload gave the following error.
Argument of type '(c: Context<Env, "/bar", BlankInput>) => Promise<HtmlEscapedString>' is not assignable to parameter of type 'H<Env, "/bar", BlankInput, HandlerResponse<any>>'.
Type '(c: Context<Env, "/bar", BlankInput>) => Promise<HtmlEscapedString>' is not assignable to type 'MiddlewareHandler<Env, "/bar", BlankInput>'.
Type 'Promise<HtmlEscapedString>' is not assignable to type 'Promise<void | Response>'.
Type 'HtmlEscapedString' is not assignable to type 'void | Response'.
c.html() returns a response and hence the mismatch.