include <utils.scad>
 
+well_surround_wall = 2.5;
+
 driver_handle_shaft_l = 68.2 + 0.75;
 driver_handle_total_l = 152.8 + 0.75;
 driver_handle_shaft_d = 8.3 + 0.75;
   linextr_x_yz(driver_handle_shaft_l, driver_handle_total_l)
     circle(r = driver_handle_handle_d/2);
 }
+
+module WellSurround(half_height, wall=well_surround_wall) {
+  // WellSurround(half_height) {
+  //     SomethingPositive();
+  // }
+  //
+  // SomethingPositive must extend in z
+  //     from -half_height to at least 0, and probably to half_height
+  // IOW its z==0 must be where the top of the wall is,
+  // and half_height is the depth of the well below that.
+
+  difference(){
+    union(){
+      linextr(0, half_height)
+       projection(cut=false) children(0);
+
+    }
+
+    translate([0, 0, half_height])
+      children(0);
+  }
+}
+
+module DriverHandleHolder() { ////toplevel
+  WellSurround(driver_handle_handle_d/2)
+    DriverHandlePositive();
+}