Implemented a :type command, and fleshed out inference a bit

I accidentally left a crucial part of core compilation unimplemented, so I've
made the core in Witness non-strict, to avoid bombing on type inference for the
time being.