Proposal: call a contract function at different blocks

It would be nice to be able to call a contract function at a given block (different from the currently one).