This book is tricksy. 
 Rob Ryan is a veteran homicide detective with the Dublin police along with his best friend and partner, Cassie Maddox, and the two start working a case involving a young girl found murdered at the site of an archaeological dig. Sounds like it could be the cold open of an episode of CSI: Ireland, right? 
 Ah, but that's only part of the story. Rob is actually from the area where the girl is found, and 22 years before he and two friends went to play in the nearby woods and something very bad happened. Rob was found with blood covered shoes and no memory of what happened to the other kids. They were never found, and Rob has done his best to disassociate himself from the event. When they find a piece of evidence that seems like it could link their fresh murder to the disappearance of his friends, Rob and Cassie decide to keep this under wraps so that they can investigate without potentially dragging up Rob's history while they determine if the two crimes are related. 
 But that's only part of it. As the case progresses it sprawls to also involve a hot button issue of a new motorway being built through the archaeological site, potential political corruption and indications of child abuse while Rob and Cassie find themselves under extreme pressure to solve the crime. The added burden of Rob's secret takes an increasing toll on them as they have to find ways to include his knowledge without admitting how they got it. 
 I told you it was tricksy... 
 This is a really nice piece of work and a solid debut novel from Tana French that starts off like a crime thriller with the twist of Rob's history, but there's more going on here than that. I particularly liked the way she portrays Rob and Cassie's close relationship in the early stages of the investigation, and then how it the plot tests it. French also has a nice way of leading a reader down a path that seems somewhat familiar to any fan of crime fiction, but then zigs and zags into different directions. It was a particularly nice touch that with his first person narration that Rob would typically be the most sympathetic character, but French doesn't hesitate to have him do things that make him downright unlikeable at times. I had three or four occasions where I was seriously hoping that someone would punch him in the balls. 
 However, there are some pacing problems where things seem a bit repetitive and slow that probably could have been hurried along a bit. I've also seen a fair amount of complaining about the ending, but I actually loved it. (view spoiler)[French pulls off a nice two-fer here. First, decoying us into thinking that Cassie and Rob got their killer only to pull the rug out from under them, and it's even worse that she gets away with it because it was one of Rob's numerous fuck-ups that really enabled it. As for not knowing what happened to Rob's friends, I'm OK with that. The story wasn't so much about what happened to them as it how effected Rob, and how his failure to ever really face and deal with what happened leads him to disaster here. I also give French credit for not giving into a temptation that a lot of writers would have and having Cassie forgive Rob. He was pretty much a bastard, and her dumping of him as a friend, partner and lover then moving on without him was a powerful statement about how badly he managed to botch his life, not just the case. (hide spoiler)] 
 I was leaning towards 3 stars when it seemed that things slowed down in the middle, but some of the clever twists and turns at the end got it back to 4 for me.