code: def merge_explicit(matadd):
      """Merge explicit MatrixBase arguments
  
      Examples
      ========
  
      >>> from sympy import MatrixSymbol, eye, Matrix, MatAdd, pprint
      >>> from sympy.matrices.expressions.matadd import merge_explicit
      >>> A = MatrixSymbol('A', 2, 2)
      >>> B = eye(2)
      >>> C = Matrix([[1, 2], [3, 4]])
      >>> X = MatAdd(A, B, C)
      >>> pprint(X)
          [1  0]   [1  2]
      A + [    ] + [    ]
          [0  1]   [3  4]
      >>> pprint(merge_explicit(X))
          [2  2]
      A + [    ]
          [3  5]
      """
      groups = sift(
          matadd.args, lambda arg: isinstance(arg, MatrixBase)
      )
      if len(groups[True]) > 1:
          return MatAdd(
              *(groups[False] + [reduce(operator.add, groups[True])])
          )
      else:
          return matadd
  
imports: from functools import reduce
  import operator
  from sympy.core import Basic, sympify
  from sympy.core.add import add, Add, _could_extract_minus_sign
  from sympy.core.sorting import default_sort_key
  from sympy.functions import adjoint
  from sympy.matrices.matrixbase import MatrixBase
  from sympy.matrices.expressions.transpose import transpose
  from sympy.strategies import rm_id, unpack, flatten, sort, condition, exhaust, do_one, glom
  from sympy.matrices.expressions.matexpr import MatrixExpr
  from sympy.matrices.expressions.special import ZeroMatrix, GenericZeroMatrix
  from sympy.matrices.expressions._shape import validate_matadd_integer
  from sympy.utilities.iterables import sift
  from sympy.utilities.exceptions import sympy_deprecation_warning
label_desc: Use image node_id 2 for calling a global function with example usage: merge_explicit(matadd) and returns: MatAdd, matadd