code: def _mark_seen(
      binder_idx: dict[jax.core.Var, int],
      seen: set[str],
      var: jax.core.Var,
      scope: _ModuleScope,
  ) -> bool:
      """Marks a variable as seen. Returns True if it was not previously seen."""
      key = scope.named_call_id + "/" + _var_to_str(binder_idx, var)
      if key in seen:
          return False
      seen.add(key)
      return True
  
imports: from collections.abc import Mapping, Sequence
  import dataclasses
  import itertools
  import logging
  import os
  import sys
  from typing import Any, Callable, NamedTuple, Optional
  from haiku._src import summarise
  import jax
  import jax.core
label_desc: Use image node_id 4 for calling a global function with example usage: _mark_seen(binder_idx, seen, var, scope) and returns: True, False