*WARNING: REVIEW CONTAINS SPOILERS SO DO NOT WATCH UNTIL YOU HAVE SEEN THE FILM*