Editor’s note: This post discusses the ending of Apple TV +’s “ Presumed Innocent .” No ending that includes Elizabeth Marvel and Bill Camp gardening together in blissful harmony — with Mr. Marvel wearing a Chicago Bears shirt — can be all bad.

And, to be fair, the “Presumed Innocent” finale accomplished exactly what the series has been striving for throughout its lengthy, often hysterical (in every meaning of the word) eight-episode run: It ended with a twist as gasp-inducing in the moment as it was groan-worthy a few minutes later. After all, the title and history behind “Presumed Innocent” point viewers toward an ending where the guilty party is hiding in plain sight. Someone who’s conveniently, almost instinctively written off not just because they couldn’t commit murder, but also because they wouldn’t commit murder.

That rules out Rusty Sabich ( Jake Gyllenhaal ), a loud and violent fella who had an affair with the victim, Carolyn Polhemus (Renate Reinsve), grew obsessed with her after she dumped him, and even showed up at her house the night she was killed. No, the one on trial didn’t do it. He’s been in our crosshairs (and the prosecutors’) from the start.

The same logic eliminates other fitfully considered suspects like the lovelorn creeper Tommy Molto (Peter Sarsgaard), a long-shot scapegoat in Liam Reynolds (Mark Harelick), and Carolyn’s bitter son, Michael (Tate Birchmore). They’re all too conspicuous to elicit more than an “I .