It’s finally the night of the much-talked-about Beach Ball — and even in the midst of it, there’s still a power struggle over who exactly is hosting it. Technically, Maxine and Evelyn are co-hosting, but Norma looms. “This was supposed to be my night,” she confides in Robert, complaining to him about growing old and the humiliation of being treated like a helpless child. Despite her scheming, it’s clear that this makes him feel for her. Furious at watching her supposed family steal her fortune, she proposes a plan to Robert … literally. She tells him that after the gala, they should go to the courthouse and get married, so when she dies, her money will go to him. “This is the only thing that will protect us both,” she says.
But my big question for this finale isn’t about Norma’s money, it’s if Mary will successfully assassinate President Richard Nixon? Had you told me when this show started that that’s where it would lead, I’d have been even more excited to watch. In fact, I think the whole series should have been marketed as such. The Secret Service searches Mary’s bag upon entry, not wanting another Grassy Knoll situation, to which Mary responds, “Lucky for you, this is a beach.” She makes it into the event without issue, which bodes well for her eventually earning a spot in Stephen Sondheim’s Assassins in this universe. Evelyn is happy to see that Mary has seemingly left the hippies behind, but she explains that they were all taken away — which, to Evelyn, means that her former home is empty and waiting for her once more. “Good to know,” she says.
With Maxine’s astronaut MIA, she begs Robert to impersonate him by donning the space suit, insisting that nobody would be the wiser. He’s initially reluctant, but realizing that accompanying Norma in the suit could be a good way to give her back some of her shine, he agrees. But Norma doesn’t see it that way, she considers it another example of him doing Maxine’s bidding, and warns him that if they’re to get married, he’ll have to choose between the two of them. It’s a bold ultimatum for Norma to be giving because if it were to truly come down to it, I don’t know that Robert would make the choice she would want.
Nonetheless, she gets to work at the gala to set things right. Firstly, she has her sights set on a clearly distraught Mitzi, telling her, “If you’ve got something on your mind, I’m a good listener.” It gives us the chance to see her in action like an artist at work, methodically collecting gossip and tucking it away as ammunition — a skill that she’s been cultivating for decades, which has led us here. Sure, we all know about the affair, but according to Mitzi, that’s not the half of it.
Her next stop is to Evelyn, who is equally surprised to hear her talking and furious when she says that she’s not getting a cent from the gala. “You’ll get half of my money over my dead body,” she says, telling her that she will always be an outsider to this world. And at this point, who isn’t? With money off the table, Evelyn has no incentive to be there anymore, so she grabs her boy toy and storms home — or rather, to the apparently vacant mansion she used to call home. But not before telling Maxine about Norma’s ruse: “She’s been playing possum.”
When Maxine hears this, the pieces start to come together. Her spill off the boat, Ann getting poisoned with insulin … and she realizes that Norma has been trying to kill her. After confronting her, Norma tells Maxine that she’s not a part of the Dellacorte family, no matter how hard she tries. But Maxine is still the one in power as Norma’s conservator — and knowing it will destroy her, she tells her about their reinstated plans to turn the Dellacorte mansion into a club. It’s a plan that Maxine was originally against, but agreed to after Douglas guilted her into it, saying it was the childless couple’s only shot at a legacy.
A second blow to Norma’s plan comes while Ann — thankfully back on her feet — delivers a presentation on her storied life. But the real intel is being shared in the audience, when Robert sidles up to Norma’s supposed former-flame Axel to ask about their history. He shares that everything changed between them when Norma went to boarding school, where her diabetic roommate Agnes was found dead at the bottom of the stairs. It sounds like we might have a Talented Mr. Ripley situation on our hands because when “Norma” returned, it was like she was a totally different person, Axel says, in case we needed it spelled out for us.
Speaking of conspiracies, Richard Nixon has arrived. The series shows him mostly in shadow or from behind, much like the pope in Sister Act. But let’s focus less on how he’s being shot and more on if he’s being shot … by Mary. His only hope is locked away at the Rollins mansion, but luckily for Linda and Virginia, Evelyn arrives to have sex with Eddie and finds them. But let’s backtrack: why are Linda and Virginia so intent on stopping Mary? Why are they suddenly so intent on saving an evil man that they’ve been organizing against all season? And who are Virginia’s “friends in high places” that got her out of jail in the first place? We start to lose the thread here, but nonetheless, our two feminists beg Evelyn to free them so they can save Richard Nixon. Evelyn, not one to ever miss a money-making opportunity, tells them she’ll only release them if Linda pinky promises to give back the house and half of her trust fund. Who would have thought at the beginning of this show that Linda would be the one trying to save Nixon and Evelyn would be happy to let him die? Anyway, Linda agrees to Evelyn’s terms, so they’re off to save Tricky Dick.
Meanwhile, Norma’s grand flourish happens just before Maxine is set to take the stage for her big performance. She brings Mitzi to her, encouraging her to come clean to Maxine about her pregnancy. “Do you know what you’re going to do? It’s your choice,” Maxine tells her, proving yet again that she’s more of a feminist than she’d ever admit. When Mitzi says she wants to be a mother, a feeling Maxine can sadly relate to, she tells her to go demand that the baby’s father marry her — thinking that the father is Perry. But when she’s out on stage, she sees Mitzi doing just that — but to Douglas, not Perry.
Realizing what’s going on, we start to see Maxine fall apart under the lights, despite trying to keep the show together like the pageant queen she is. She sings “Is That All There Is?” through tears, and between verses, talks about her orphanage upbringing and her big dreams of making it somewhere, but then veers off script to call out all of the members of this high society she so desperately wanted to join — concluding her rant by exposing Douglas’s affair to the whole room. She thought she was destroying everybody’s secrets by burning the Rolodex, but it turns out that the only true way of robbing them of their power is airing them all out.
As Norma revels in this breakdown, Robert approaches her, and says, “I can’t believe I considered spending my life with you … Agnes.” It’s a death blow to Norma, who in one fell swoop loses Robert and has her deepest secret revealed. Even the grand dame of this high society faked her way in, just as Maxine did. At this point is there anybody who didn’t?
It’s during Maxine’s onstage breakdown that Nixon decides he’s had enough cottage cheese and starts to leave. As Maxine tries to stop him, we see Mary retrieve a gun from inside her wig, but as she fires, Linda rushes over and pushes her, diverting the bullet. Instead of Nixon, the bullet hits Robert. If you thought a NASA space suit might be bulletproof, you’re sadly mistaken — at least in this case. The bullet takes Robert down, sending Maxine into hysterics. He was her only true friend, and would have been all she had left in the aftermath of the gala. Now she has nobody, likely not even Linda, who the federal agent finds on the balcony with the gun. Presumably, she will go to jail for a shooting after all, just not the one she was actually behind. An awestruck Norma also roams into the havoc as it plays out, now in the complicated position of losing her life’s one love, but also the one person who found out her life was a lie. It’s the most complex, tangled, and interesting spot this show has been in all season — and it ends right in the thick of it. Limited series, my ass.
However, I’m not angry at it ending like this; in fact, I think it’s the most interesting choice the show has made in the whole season. This entire story was about Maxine accidentally breaking this world in her attempt to join it — like a child who plays with their favorite toy too hard. And now it’s broken. And we’re meant to look at the pieces — not to glue them back together. The glossy, perfect world that we were presented in episode one was not only deconstructed as the series played out, but now it was shattered beyond repair, and we’re left sitting in the wreckage. Plenty of questions remain, but the biggest of all: Is that all there is?
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(3),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(136),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(408),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"408":408,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]