fixed #107, HashWithDefault use 'exists' for hash key check