Dirty checking in ArrayType and HashType, removed from JsonType

Had to name the new hash type 'hash_t' unless there's a better option.