This package contains an implementation using hash tables. Another possible implementation would use DAGs. It is intended to be a reference implementation, not necessarily fast or highly optimized.