a git ignore
cleanup
constraint store implementation as a hash table