Module Infer.CellSource

A mutable cell carrying a value, backed by union-find: merge unifies two cells so they share one value, and get resolves a cell to that value.

Sourcetype 'a t
Sourceval make : 'a -> 'a t
Sourceval get : 'a t -> 'a
Sourceval merge : 'a t -> 'a t -> 'a -> unit

merge a b v unions a and b and sets the shared root to v.

Sourceval set : 'a t -> 'a -> unit

set t v overwrites the value at t's root with v.