M. Night Shyamalan's new film seems to be a hit, and I am a fan so I am happy for him.
I do not, however, think the movie is any good. Sure, it is well directed. The acting is fine, although I found McAvoy surprisingly one note; Betty Buckley is fantastic though, every bit comparable to Donald Pleasance's Dr. Loomis. There are great shots, like when the doctor comes to, but there are questions, the biggest one being, Why didn't the doctor invoke Kevin's name before letting the beast kill her?
There is also a glaring moral issue. Three teen girls are kidnapped by Kevin. One is a troubled girl looking for a ride home. The other two are seemingly spoiled girls yet they are crafty. The two girls are sexualized. They are kept in bar and in panties because they don't wear layers I guess. The troubled girl wears layers. The clothes hide the fact that she is a cutter. In flashbacks, we learn that as a small child she had a very progressive supportive father who taught her how to hunt. Her uncle though molests her.
She seems like a strong girl, the kind that would not be afraid to tell her dad when something is wrong. Hell, she threatens to kill her uncle. But then her dad dies, and she is left in her uncle's care. The flashbacks lead us nowhere. I thought since Kevin will become a beast the hunting metaphor was supposed to mean something. Since we don't know if she tells the lady cop anything or we don't see her overcome anything to escape, she is given no catharsis or reason for the abuse subplot. She is left alive presumably because Kevin sees a fellow misfit in her, a cutter, someone not normal, a victim, which is actually quite far from the superman he is trying to become. The movie is sensitive to keep that character's clothes on but terrible in the way abuse is a go-nowhere plot point and the sexualizing of the other two when in reality he should respect the ingenuity of the other two as even if they are without obvious problems, they likely have strong inner-lives.