code: func (r Rectangle) Union(s Rectangle) Rectangle {
  	if r.Empty() {
  		return s
  	}
  	if s.Empty() {
  		return r
  	}
  	if r.Min.X > s.Min.X {
  		r.Min.X = s.Min.X
  	}
  	if r.Min.Y > s.Min.Y {
  		r.Min.Y = s.Min.Y
  	}
  	if r.Max.X < s.Max.X {
  		r.Max.X = s.Max.X
  	}
  	if r.Max.Y < s.Max.Y {
  		r.Max.Y = s.Max.Y
  	}
  	return r
  }
docs: // Union returns the smallest rectangle that contains both r and s.