def rule(x, y):
     if match(x[-1], u'*', vowel1, None) and \
        match(y[0], u'ᄋ', vowel2):
         return (u'vowel contraction [%s + %s -> %s]' % 
                            (vowel1, vowel2, new_vowel),
                 x[:-1] + 
                 join(lead(x[-1]), 
                      new_vowel, 
                      padchim(y[0])) + 
                 y[1:])
def is_d_irregular(infinitive, regular=False):
    if regular:
        return False
    return match(infinitive[-1], u'*', u'*', u'ᆮ') and \
           not not_d_irregular.get(after_last_space(infinitive), False)
def is_l_euh_irregular(infinitive, regular=False):
    if regular:
        return False
    return match(infinitive[-1], u'ᄅ', u'ㅡ', None) and \
           not not_l_euh_irregular.get(after_last_space(infinitive), False)