add global contract function to lookup AND typecheck
contracts using Contract.at add via Module and Kernel - why? why not?