There’s a lot going on in writer-director Edgar Wright’s crazed, inventive Last Night in Soho. It’s a modern take on the perils of too much nostalgia; it’s a ghost story; it’s a psychological thriller. It’s a murder-mystery that pays homage to the likes of Hitchcock and Polanski. And it’s much more.

Is it a bit much? Maybe. The film has a lot of good-to-great elements, with some parts that are just OK. It’s a movie that isn’t quite the sum of all of its parts—but it is plenty good enough if you like films that are a little different and bizarre.

Eloise (Thomasin McKenzie) has longed to live in London, and she especially wishes she could’ve been there in the 1960s. She loves the fashion, the vibe and the music. She often dances to that music in the hallways of the home of her grandma (Rita Tushingham), with whom she lives, because her mom took her own life when Eloise was 7 years old.

Eloise gets at least part of her wish when she is accepted into a London fashion school. She brings with her an alarming ability to see ghosts (most notably her dead mother) and some anxiety issues.

The London scene is a bit much for her at first, thanks to a lousy, bitchy roommate (Synnove Karlsen) and some creepy dudes eyeballing her. She moves off-campus into a retro apartment owned by the bossy, elderly Ms. Collins (the late Diana Rigg, in her last screen role). Despite the old-school rules, Eloise prefers Ms. Collins and her dusty apartment to being around people in her age group.

Eloise starts having waking dreams in which she seems to be living the life of aspiring songstress Sandie (Anya Taylor-Joy) in the ’60s. Each successive dream leads to a new chapter in Sandie’s life—but the joy and optimism of the early dreams begin drifting into something far more sinister.

The film moves from supernatural mystery to horror when the bloodletting begins. Eloise is having a hard time distinguishing the past from reality, and she starts having a meltdown, synchronized with Sandie’s increasingly bad times.

Wright manages some reasonably good twists and turns, although the slick visuals actually prevent some of the wannabe scary moments from providing chills. They look great, but they lack the sort of timing and editing that would make them genuinely scary.

Despite failing on the horror level, Last Night in Soho is still a damn good watch, thanks mainly to McKenzie and Taylor-Joy delivering outstanding work—which is becoming routine for both of them. McKenzie (also good this year in M. Night Shyamalan’s Old) cycles through all of the emotions in a role that shows off her range more than anything she’s done before. Taylor-Joy (also a Shyamalan vet with Split and Glass) continues to show she’s one of the best actresses of her generation, while also getting a chance to show off some impressive pipes with her take on “Downtown.”

Rigg finishes her career with a flourish as the nosy landlord in what is a bit of perfect casting. Terence Stamp, as a creepy character frequenting bars in Eloise’s present day, shows why it’s always a good idea to put him in a movie.

The film will likely score some accolades for art direction and makeup, because the movie nails the ’60s. In fact, one of the film’s flaws is that it isn’t entirely staged in its magnificently re-created ’60s timeline.

The third act is a bit bonkers and feels a little like a different movie. The mystery element has a decent-enough payoff (although Eloise does some things in a library that should land her in jail). It all comes to a somewhat satisfying conclusion, even if it’s not particularly mind-blowing.

The only upcoming film to which Wright is attached is a redo of Stephen King’s The Running Man, but who knows if that will ever come out? Last Night in Soho had a one-year delay due to, well, you know, and it isn’t exactly lighting the box office on fire—so Wright could use a big project like a Stephen King movie to kick his career into high gear.

Last Night in Soho is playing at theaters across the valley.