<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def match_pattern(self, pat, word):
 """Implements fixed-width pattern matching. Matches just in case pattern is the same length (in segments) as the word and each of the segments in the pattern is a featural subset of the corresponding segment in the word. Matches return the corresponding list of feature sets; failed matches return None. Args: pat (list):
 pattern consisting of a sequence of sets of (value, feature) tuples word (unicode):
 a Unicode IPA string consisting of zero or more segments Returns: list: corresponding list of feature sets or, if there is no match, None """

        segs = self.word_fts(word)
        if len(pat) != len(segs):
            return None
        else:
            if all([set(p) <= s for (p, s) in zip(pat, segs)]):
                return segs