Question on making a function Listable
The following two functions are part of a package.


    NewGeometry[geometry_] := 
	Module[ {
		type = "GE",
		record = geometry},
		
		NewNode[{type, record}]
	]

    AddGeometry[scg_, tfg_, geo_] := 
	Module[{},
		AddAsChild[scg, tfg, geo]
	]


NewNode, AddAsChild are functions in a Tree package and AddGeometries has the following attributes set:

    SetAttributes[AddGeometry, HoldAll];


In a Notebook I have the following code.

    c1 = NewCube[{0, 0, 0}, 4];
    c2 = NewCube[{10, 0, 0}, 4];
    AddGeometry[scg, tfg, c1];
    AddGeometry[scg, tfg, c2];


I want to change my code so that the following syntax is accepted.
    
    AddGeometry[scg, tfg, {c1, c2}];

and / or:

    AddGeometry[scg, tfg, var_containing_list];


Question:
 
- The best idea I came up with sofar is checking geo[[0]] in AddGeometry if that is a List then unpack, do individual AddGeometry, etc. I have this 'feeling' one of you may have a smarter idea involving some deep property of Listable.

All hints, tips will be appreciated.

Question on making a function Listable
===

The following two functions are part of a package.


    NewGeometry[geometry_] := 
	Module[ {
		type = "GE",
		record = geometry},
		
		NewNode[{type, record}]
	]

    AddGeometry[scg_, tfg_, geo_] := 
	Module[{},
		AddAsChild[scg, tfg, geo]
	]


NewNode, AddAsChild are functions in a Tree package and AddGeometries has the following attributes set:

    SetAttributes[AddGeometry, HoldAll];


In a Notebook I have the following code.

    c1 = NewCube[{0, 0, 0}, 4];
    c2 = NewCube[{10, 0, 0}, 4];
    AddGeometry[scg, tfg, c1];
    AddGeometry[scg, tfg, c2];


I want to change my code so that the following syntax is accepted.
    
    AddGeometry[scg, tfg, {c1, c2}];

and / or:

    AddGeometry[scg, tfg, var_containing_list];


Question:
 
- The best idea I came up with sofar is checking geo[[0]] in AddGeometry if that is a List then unpack, do individual AddGeometry, etc. I have this 'feeling' one of you may have a smarter idea involving some deep property of Listable.

All hints, tips will be appreciated.
