rename Util.Variable to Util.Assignable

"Variable" is the wrong name for these things, and fails to convey that they are mutable and aliasable.

"Assignable" is a precise term coined to describe exactly this kind of thing. See these blog posts by Bob Harper for some discussion:
http://existentialtype.wordpress.com/2012/02/01/words-matter/
http://existentialtype.wordpress.com/2012/02/09/referential-transparency/