Flat( list )
Flat returns the list of all elements that are contained in the
list list or its sublists. That is, Flat first makes
a new empty list new. Then it loops over the elements elm
of list. If elm is not a list it is added to new,
otherwise Flat appends Flat( elm ) to
new.
gap> Flat( [ 1, [ 2, 3 ], [ [ 1, 2 ], 3 ] ] );
[ 1, 2, 3, 1, 2, 3 ]
gap> Flat( [ ] );
[ ]