clean up of Dict and DictNode

fix up of docs, tightening of typing, and minor implementation change