docs: def _positionalArgumentKeyValueList(self,
                                          originalConstructorExpectedArgList,
                                          syntheticMemberList,
                                          argTuple):
          """Transforms args tuple to a dictionary mapping argument names to values using original constructor
  positional args specification, then it adds synthesized members at the end if they are not already present.
      :type syntheticMemberList: list(SyntheticMember)
      :type argTuple: tuple
  """
  
          # First, the list of expected arguments is set to original constructor's arg spec. 
          expectedArgList = copy.copy(originalConstructorExpectedArgList)
  
          # ... then we append members that are not already present.
          for syntheticMember in syntheticMemberList:
              memberName = syntheticMember.memberName()
              if memberName not in expectedArgList:
                  expectedArgList.append(memberName)
  
          # Makes a list of tuples (argumentName, argumentValue) with each element of each list (expectedArgList, argTuple)
          # until the shortest list's end is reached.
          positionalArgumentKeyValueList = list(zip(expectedArgList, argTuple))
  
          # Add remanining arguments (those that are not expected by the original constructor).
          for argumentValue in argTuple[len(positionalArgumentKeyValueList):]:
              positionalArgumentKeyValueList.append((None, argumentValue))
  
          return positionalArgumentKeyValueList