Nice one Mitch.
It is interesting that rhinoscript function rs.IsObjectSolid() does not treat closed extrusions as closed solids (cube, cylinder), which would technically be correct. Still those geometries are sort of closed bodies too:
"""Verifies that an object is a closed, solid object
object_id: String or Guid. The identifier of an object
True if the object is solid
False if the object is not solid
rhobj = rhutil.coercerhinoobject(object_id, True, True)
if( isinstance(rhobj, Rhino.DocObjects.BrepObject) or isinstance(rhobj, Rhino.DocObjects.SurfaceObject) ):
if( isinstance(rhobj, Rhino.DocObjects.MeshObject) ):
So in order to use this function, one needs to either explode the extrusion and then join its parts (which will create a polysurface), or convert it to a brep.