IMO, I think if OpenSCAD somehow had an assembly feature it would really make it more attractive for users who are programmers to switch from the likes of Fusion360 etc.
You can make 'modules', little repeatable chunks that can be replicated or turned on or turned off etc. OpenSCAD is programming so a 'module' is a 'function' or 'procedure' in other langs. My multi-part assembly is a bunch of modules that I have in one configuration for fit designing and one configuration for printing.
"Assembly" as in if you have multiple parts in Fusion360 etc, you can select components and put them together by forming constraints. E.g. a screw into a mount hole with a nut on the other side. Expensive CAD software makes this relatively easy, you just select the objects and define the constraints. This is lacking in CAD software like FreeCAD (not very well supported), TinkerCad (where you have to create throw away objects), OpenScad is equally not easy, you have to manually position the objects and line them up in code to "assemble" them.
The classic example is wheels on a car. You model one wheel with tire, rim, bolts, etc., then create 4 "instances", at different locations, that are references to the wheel. A tremendous boon for correctness and productivity. Imagine a programming language where you could only copy objects by value, no pointers or references.