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