docs: def crossCombine(l):
      ''' Taken a list of lists, returns a big list of lists contain all the possibilities of elements of sublist combining together.
  
      It is basically a Combinatorics of list. For example:
  
          >>> crossCombine([[a,a1,a2,...], [b,b1,b2,...]])
          >>> [[a,b], [a,b1], [a,b2], [a1,b], [a1,b1], [a1, b2], [a2,b], [a2,b1], [a2,b2], ...]
  
      For using in StartCalendarInterval, the syntax of ``l`` is like below:
          ``l: [[dic of month], [dict of day]]``
  
      such as:
          ``l: [[{'month': 1}, {'month': 2}], [{'day': 2}, {'day': 3}, {'day': 4}]]``
  
      Args:
          l (list[list]): the list of lists you want to crossCombine with.
  
      Returns:
          list: crossCombined list
  
      '''
      resultList = []
      firstList = l[0]
      rest = l[1:]
      if len(rest) == 0:
          return firstList
      for e in firstList:
          for e1 in crossCombine(rest):
              resultList.append(combinteDict(e, e1))
      return resultList