docs: def _add_capitalization_constrain(token_lst: List[Dict], capi_lst: List, word_lst: List) -> List[Dict]:
          """
          Add capitalization constrain for some token type, create cross production
          Args:
              token_lst: List[Dict]
              capi_lst: List
              word_lst: List
  
          Returns: List[Dict]
          """
  
          result = []
          for a_token in token_lst:
              if "exact" in capi_lst and word_lst != []:
                  for word in word_lst:
                      token = copy.deepcopy(a_token)
                      token[attrs.ORTH] = word
                      result.append(token)
              if "lower" in capi_lst:
                  token = copy.deepcopy(a_token)
                  token[attrs.IS_LOWER] = True
                  result.append(token)
              if "upper" in capi_lst:
                  token = copy.deepcopy(a_token)
                  token[attrs.IS_UPPER] = True
                  result.append(token)
              if "title" in capi_lst:
                  token = copy.deepcopy(a_token)
                  token[attrs.IS_TITLE] = True
                  result.append(token)
              if "mixed" in capi_lst:
                  token = copy.deepcopy(a_token)
                  token[attrs.IS_UPPER] = False
                  token[attrs.IS_LOWER] = False
                  token[attrs.IS_TITLE] = False
                  result.append(token)
          return result