code: def source_exec_as_module(source):
      try:
          return eval_cache[source]
      except KeyError:
          pass
  
      result = ModuleType(
          "hypothesis_temporary_module_%s"
          % (hashlib.sha384(str_to_bytes(source)).hexdigest(),)
      )
      assert isinstance(source, str)
      exec(source, result.__dict__)
      eval_cache[source] = result
      return result
  
imports: from __future__ import absolute_import, division, print_function
  import ast
  import hashlib
  import inspect
  import re
  import types
  from functools import wraps
  from types import ModuleType
  from hypothesis.internal.compat import ARG_NAME_ATTRIBUTE, PY2, getfullargspec, hrange, isidentifier, qualname, str_to_bytes, to_str, to_unicode, update_code_location
  from hypothesis.vendor.pretty import pretty
label_desc: Use image node_id 16 for calling a global function with example usage: source_exec_as_module(source) and returns: result, eval_cache