fix two elaboration bugs

`freeVs' didn't actually work - it didn't return free things under
binders.

I was forming the datacon types wrongly.
fix uniquify