code: def signature_test_cases():
      @dataclasses.dataclass
      class FooDataClass:
          a: int
  
      class FooModule(eqx.Module):
          a: int
  
      @dataclasses.dataclass
      class CustomInitDataClass:
          def __init__(self, a: int):
              pass
  
      class CustomInitModule(eqx.Module):
          def __init__(self, a: int):
              pass
  
      @dataclasses.dataclass
      class CallableDataClass:
          a: int
  
          def __call__(self, b: int):
              pass
  
      class CallableModule(eqx.Module):
          a: int
  
          def __call__(self, b: int):
              pass
  
      test_cases = [
          (FooDataClass, FooModule),
          (CustomInitDataClass, CustomInitModule),
          (CallableDataClass, CallableModule),
          (CallableDataClass(1), CallableModule(1)),
      ]
      return test_cases
  
imports: import abc
  import dataclasses
  import functools
  import inspect
  from collections.abc import Callable
  from dataclasses import InitVar
  from typing import Any, Optional
  import equinox
  import equinox.internal
  import jax
  import jax.numpy
  import jax.tree_util
  import pytest
  from .helpers import tree_allclose
label_desc: Use image node_id 42 for calling a global function with example usage: signature_test_cases() and returns: test_cases