code: func (s *Signature) Decode(b []byte) {
  	open := bytes.LastIndexByte(b, '<')
  	close := bytes.LastIndexByte(b, '>')
  	if open == -1 || close == -1 {
  		return
  	}
  
  	if close < open {
  		return
  	}
  
  	s.Name = string(bytes.Trim(b[:open], " "))
  	s.Email = string(b[open+1 : close])
  
  	hasTime := close+2 < len(b)
  	if hasTime {
  		s.decodeTimeAndTimeZone(b[close+2:])
  	}
  }
docs: // Decode decodes a byte slice into a signature