This post has the following content warnings: