using lambda expression as Handler in set_error_handler will cause ambiguous. Template forwarding can forward HandlerWithResponse to the correct overloading function