docs: def _disambiguate_sid_ksid( words_layer, text, scope=CLAUSES ):
      ''' Disambiguates verb forms based on existence of 2nd person pronoun ('sina') in given scope.
          The scope could be either CLAUSES or SENTENCES.
      '''
      assert scope in [CLAUSES, SENTENCES], '(!) The scope should be either "clauses" or "sentences".'
      group_indices = get_unique_clause_indices( text ) if scope==CLAUSES else get_unique_sentence_indices( text )
      i = 0
      gr_2nd_person_pron = {}
      while i < len( words_layer ):
          gr_index = group_indices[i]
          if gr_index not in gr_2nd_person_pron:
              # 1) Find out whether the current group (clause or sentence) contains "sina"
              j = i
              gr_2nd_person_pron_found = False
              while j < len( words_layer ):
                   if group_indices[j] == gr_index:
                       forms  = [ a[FORM] for a in words_layer[j][ANALYSIS] ]
                       lemmas = [ a[ROOT] for a in words_layer[j][ANALYSIS] ]
                       if 'sina' in lemmas and 'Sg Nom' in forms:
                          gr_2nd_person_pron_found = True
                          break
                   if group_indices[j] >= gr_index+10:  # do not venture too far ...
                       break
                   j += 1
              gr_2nd_person_pron[gr_index] = gr_2nd_person_pron_found
          forms = [ a[FORM] for a in words_layer[i][ANALYSIS] ]
          # 2) Disambiguate verb forms based on existence of 'sina' in the clause
          if ('Pers Prt Ind Pl3 Aff' in forms and 'Pers Prt Ind Sg2 Aff' in forms):    # -sid
             if not gr_2nd_person_pron[ gr_index ]:
                 _keep_analyses( words_layer[i][ANALYSIS], ['Pers Prt Ind Pl3 Aff'], ['Pers Prt Ind Pl3 Aff', 'Pers Prt Ind Sg2 Aff'] )
             else:
                 _keep_analyses( words_layer[i][ANALYSIS], ['Pers Prt Ind Sg2 Aff'], ['Pers Prt Ind Pl3 Aff', 'Pers Prt Ind Sg2 Aff'] )
          if ('Pers Prs Cond Pl3 Aff' in forms and 'Pers Prs Cond Sg2 Aff' in forms):  # -ksid
             if not gr_2nd_person_pron[ gr_index ]:
                 _keep_analyses( words_layer[i][ANALYSIS], ['Pers Prs Cond Pl3 Aff'], ['Pers Prs Cond Pl3 Aff', 'Pers Prs Cond Sg2 Aff'] )
             else:
                 _keep_analyses( words_layer[i][ANALYSIS], ['Pers Prs Cond Sg2 Aff'], ['Pers Prs Cond Pl3 Aff', 'Pers Prs Cond Sg2 Aff'] )
          if ('Pers Prt Cond Pl3 Aff' in forms and 'Pers Prt Cond Sg2 Aff' in forms):  # -nuksid
             if not gr_2nd_person_pron[ gr_index ]:
                 _keep_analyses( words_layer[i][ANALYSIS], ['Pers Prt Cond Pl3 Aff'], ['Pers Prt Cond Pl3 Aff', 'Pers Prt Cond Sg2 Aff'] )
             else:
                 _keep_analyses( words_layer[i][ANALYSIS], ['Pers Prt Cond Sg2 Aff'], ['Pers Prt Cond Pl3 Aff', 'Pers Prt Cond Sg2 Aff'] )
          i += 1