Added additional type checks, plus an example script that generates  the hash of each type