Build a resolver. Optionally provide equality and hash on 'a.
'a
Build an expander. Assumes that it is safe to use Hashtbl.hash and structural equality (=) on 'a.