Never Let Me Go is a film full of subtle and unexpected dissonances. First and foremost is the fact that it is a dystopian fantasy set in the past, rather than the future. Kazuo Ishiguro’s highly acclaimed 2005 novel is ostensibly science fiction, but retains an earthy, timeless familiarity by re-imagining the entire latter half of the twentieth century as a time in which certain medical advances have extended human life expectancy by huge margins.

But apart from that, and apart from the far-reaching impacts those advancements have on life as we know it, this world is not futuristic in any appreciable sense. The three distinct time periods during which it takes place — the mid-70s, 80s, and 90s — look and feel largely as we remember them, even if, in practice, this is an entirely different world.

The film is told from the perspective of Kathy (Carey Mulligan), looking back on her life in 1994. She’s only 28, but even in this opening, there is the feeling that she is far older than her years; her tendency towards melancholy reflection is more fitting for someone decades older. She recounts her school days in an isolated, dark-wood-paneled boarding school in the English countryside, with her best friends Ruth (played as an adult by Keira Knightly) and Tommy (Andrew Garfield). In the somewhat menacing setting of the school, something is not quite right, and one day, a teacher reveals to them a terrible secret.