code: def get_type_and_times(wxdata: [str]) -> ([str], str, str, str):  # type: ignore
      
      report_type, start_time, end_time = 'FROM', '', ''
      if wxdata:
          # TEMPO, BECMG, INTER
          if wxdata[0] in TAF_NEWLINE:
              report_type = wxdata.pop(0)
          # PROB[30,40]
          elif len(wxdata[0]) == 6 and wxdata[0].startswith('PROB'):
              report_type = wxdata.pop(0)
      if wxdata:
          # 1200/1306
          if len(wxdata[0]) == 9 and wxdata[0][4] == '/' \
                  and wxdata[0][:4].isdigit() and wxdata[0][5:].isdigit():
              start_time, end_time = wxdata.pop(0).split('/')
          # FM120000
          elif len(wxdata[0]) > 7 and wxdata[0].startswith('FM'):
              report_type = 'FROM'
              if '/' in wxdata[0] and wxdata[0][2:].split('/')[0].isdigit() \
                      and wxdata[0][2:].split('/')[1].isdigit():
                  start_time, end_time = wxdata.pop(0)[2:].split('/')
              elif wxdata[0][2:8].isdigit():
                  start_time = wxdata.pop(0)[2:6]
              # TL120600
              if wxdata and len(wxdata[0]) > 7 and wxdata[0].startswith('TL') \
                      and wxdata[0][2:8].isdigit():
                  end_time = wxdata.pop(0)[2:6]
      return wxdata, report_type, start_time, end_time
docs: Returns the report list and removed:
      Report type string, start time string, end time string