Pass around a context to ensure we don't accidentally clobber the wrong
temporary variable.