To introduce their intuitions, there is a kind of strings after each function. Right after the definition line for silhouette, it writes -- in English more or less -- what it’s trying to do in code afterwards. It should be somewhat helpful if you want to walk through this entire file.