function isReturnAssignException(node) {
			if (!EXCEPT_RETURN_ASSIGN || !isInReturnStatement(node)) {
				return false;
			}

			if (node.type === "ReturnStatement") {
				return node.argument && containsAssignment(node.argument);
			}
			if (
				node.type === "ArrowFunctionExpression" &&
				node.body.type !== "BlockStatement"
			) {
				return containsAssignment(node.body);
			}
			return containsAssignment(node);
		}
Determines if a node is contained by or is itself a return statement and is allowed to have a parenthesised assignment
@param {ASTNode} node The node to be checked.
@returns {boolean} True if the assignment can be parenthesised.
@private