func (r Rectangle) In(s Rectangle) bool {
	if r.Empty() {
		return true
	}
	// Note that r.Max is an exclusive bound for r, so that r.In(s)
	// does not require that r.Max.In(s).
	return s.Min[0] <= r.Min[0] && r.Max[0] <= s.Max[0] &&
		s.Min[1] <= r.Min[1] && r.Max[1] <= s.Max[1]
}
func (r Rectangle) In(s Rectangle) bool {
	if r.Empty() {
		return true
	}
	// Note that r.Max is an exclusive bound for r, so that r.In(s)
	// does not require that r.Max.In(s).
	return s.Min[0] <= r.Min[0] && r.Max[0] <= s.Max[0] &&
		s.Min[1] <= r.Min[1] && r.Max[1] <= s.Max[1]
}
// In reports whether Rectangle r is contained in s.