Added contextual signature instantiation during type inference.

Fixes #88.
Why do you have to instantiate the source, but not the target? Please put a comment