One of the things that makes Hamlet unique among Shakespeare's characters is his courage to face up to the darker elements of his personality.