     }
 }
 
-extension Shape.Component {
-    
-    fileprivate var bigBound: Rect {
-        return boundary.inset(dx: _boundInset * Swift.max(1, abs(boundary.x), abs(boundary.width)), dy: _boundInset * Swift.max(1, abs(boundary.y), abs(boundary.height)))
-    }
-}
-
 public func * (lhs: ShapeRegion, rhs: SDTransform) -> ShapeRegion {
     return rhs.determinant.almostZero() ? ShapeRegion() : ShapeRegion(solids: lhs.solids.map { ShapeRegion.Solid(components: $0.components.map { $0 * rhs }) })
 }
 public func *= (lhs: inout ShapeRegion, rhs: SDTransform) {
     lhs = lhs * rhs
-}
-
-extension ShapeRegion.Solid.Segment {
-    
-    fileprivate var bigBound: Rect {
-        return boundary.inset(dx: _boundInset * Swift.max(1, abs(boundary.x), abs(boundary.width)), dy: _boundInset * Swift.max(1, abs(boundary.y), abs(boundary.height)))
-    }
 }
 
 extension Shape.Component {

private let ShapeCacheEvenOddRegionKey = "ShapeCacheEvenOddRegionKey"
private let ShapeCacheConstructiveSolidResultKey = "ShapeCacheConstructiveSolidResultKey"

private let _boundInset: Double = -1e-8

extension RandomAccessCollection where Index : SignedInteger {
    
    fileprivate func indexMod(_ index: Index) -> Index {

        if self.isEmpty {
            return []
        }
        if !self.boundary.isIntersect(other.boundary) {
            return self.solids
        }
        
        let overlap = self.spacePartition.search(overlap: other.boundary)
        var result: [ShapeRegion.Solid] = []
        result.reserveCapacity(solids.count)
        for (index, solid) in solids.enumerated() {
