var/list/windows = list() // "window" = list( "Element"="parameters" )
var/list/macros = list()
var/list/menus = list()

var/list/created_windows = list()
var/list/applied_to = list()//Lists within this list
var/source_file = ""

That's the current set up I currently have for the variables in my interface library. What I want to know is when do lists start becoming too much, right now I have 2 instances of lists within lists (windows, applied_to).
I think the limit for objects is 16.7 million(don't quote me on this).
This includes all atoms, lists, and other datums/data.
One way of conserving lists would be to use params2list/list2params everywhere, but I'm not sure if that would be worth it. Although interface controls/windows do take param forms, every time you modify the params it'd be easier for them to be lists.