added PersistentHashtbl, adapted from persistent arrays of J-C Filliatre