Better error messages in function calls.

Fixes #93.
This is an evolution of #220.
Should we mask 'unknown' type in message?