<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def import_header(self, header: BlockHeader """ Direct passthrough to `headerdb` Also updates the local `header` property to be the latest canonical head. Returns an iterable of headers representing the headers that are newly part of the canonical chain. - If the imported header is not part of the canonical chain then an empty tuple will be returned. - If the imported header simply extends the canonical chain then a length-1 tuple with the imported header will be returned. - If the header is part of a non-canonical chain which overtakes the current canonical chain then the returned tuple will contain the headers which are newly part of the canonical chain. """

        new_canonical_headers = self.headerdb.persist_header(header)
        self.header = self.get_canonical_head()
        return new_canonical_headers