ID:1955482
 
Not a bug
BYOND Version:508
Operating System:Windows 10 Pro 64-bit
Web Browser:Firefox 41.0
Applies to:DM Language
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND forums.
You cannot get a lists proper length if there are lists inside that list, see:
world << length( list() + list() )
returns 0, while
world << length( list() + 1 )
returns 1.</<></<>
"list() + list()" combines two empty lists to get one empty list. You end up with list(), not list(list()).

"list() + 1" adds the element "1" to a list. You end up with list(1).
Kaiochao resolved issue (Not a bug)
If that is truly the case, then .Add does the same thing and there is no way to properly append a list to another list without manual math.
l1[++l1.len] = l2
In response to Ter13
Ter13 wrote:
l1[++l1.len] = l2


Also, if you fancy yourself a meatball:

l1 += (istype(l2, /list) ? list(l2) : l2)