function isInTailCallPosition(node) {
			if (node.parent.type === "ArrowFunctionExpression") {
				return true;
			}
			if (node.parent.type === "ReturnStatement") {
				return !hasErrorHandler(node.parent);
			}
			if (
				node.parent.type === "ConditionalExpression" &&
				(node === node.parent.consequent ||
					node === node.parent.alternate)
			) {
				return isInTailCallPosition(node.parent);
			}
			if (
				node.parent.type === "LogicalExpression" &&
				node === node.parent.right
			) {
				return isInTailCallPosition(node.parent);
			}
			if (
				node.parent.type === "SequenceExpression" &&
				node === node.parent.expressions.at(-1)
			) {
				return isInTailCallPosition(node.parent);
			}
			return false;
		}
Checks if a node is placed in tail call position. Once `return` arguments (or arrow function expressions) can be a complex expression,
an `await` expression could or could not be unnecessary by the definition of this rule. So we're looking for `await` expressions that are in tail position.
@param {ASTNode} node A node representing the `await` expression to check
@returns {boolean} The checking result