<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _init_hdrgos(self, hdrgos_dflt, hdrgos_usr=None, add_dflt=True):
 """Initialize GO high"""

        # Use default GO group header values
        if (hdrgos_usr is None or hdrgos_usr is False) and not self.sections:
            return set(hdrgos_dflt)
        # Get GO group headers provided by user
        hdrgos_init = set()
        if hdrgos_usr:
            chk_goids(hdrgos_usr, "User-provided GO group headers")
            hdrgos_init |= set(hdrgos_usr)
        if self.sections:
            self._chk_sections(self.sections)
            hdrgos_sec = set([hg for _, hdrgos in self.sections for hg in hdrgos])
            chk_goids(hdrgos_sec, "User-provided GO group headers in sections")
            hdrgos_init |= hdrgos_sec
        # Add default depth-01 GOs to headers, if desired
        if add_dflt:
            return set(hdrgos_init).union(hdrgos_dflt)
        # Return user-provided GO grouping headers
        return hdrgos_init