Add transfer function for x := nil

See #2 and #7.
Create specialized hash map for isShared function

This makes some of the logic easier to understand.

See #2, #6 and #7
Pretty print isShared

See #5.
Fix a bug with the way that we are merging isShared

See #2.