code: def test_lambda_lambda():
      @make_funsor
      def LambdaLambda(
          i: Bound,
          j: Bound,
          x: Funsor,
      ) -> Fresh[
          lambda i, j, x: Array[x.dtype, (i.size, j.size) + x.shape]
      ]:
          assert i in x.inputs
          assert j in x.inputs
          return Lambda(i, Lambda(j, x))
  
imports: import math
  from collections import OrderedDict
  import pytest
  import funsor.ops
  from funsor.domains import Array, Bint, Real, Reals
  from funsor.factory import Bound, Fresh, Has, Value, make_funsor, to_funsor
  from funsor.interpretations import reflect
  from funsor.interpreter import reinterpret
  from funsor.tensor import Tensor
  from funsor.terms import Cat, Funsor, Lambda, Number, eager
  from funsor.testing import assert_close, check_funsor, random_tensor, requires_backend
label_desc: Use image node_id 1 for calling a global function with example usage: test_lambda_lambda() and returns: Lambda