public static int size(LuaList list)
 {
     return list.list.Count;
 }
        public static LuaList take(LuaList list, int count)
        {
            List<object> src = list.list;

            if (count > src.Count)
            {
                count = src.Count;
            }
            return new LuaList(src.GetRange(0, count));
        }
 public static void prepend(LuaList list, object obj)
 {
     list.list.Insert(0, obj);
 }
 public static void remove(LuaList list, int index)
 {
     list.list.RemoveAt(index - 1);
 }
        public static LuaList drop(LuaList list, int count)
        {
            List<object> src = list.list;

            if (count >= src.Count)
            {
                return new LuaList(new List<object>(0));
            }
            return new LuaList(src.GetRange(count, src.Count - count));
        }
 public static void append(LuaList list, object obj)
 {
     list.list.Add(obj);
 }
 public static int size(LuaList list)
 {
     return(list.list.Count);
 }
 public static LuaList clone(LuaList list)
 {
     return new LuaList(new List<object>(list.list));
 }
 public static LuaList clone(LuaList list)
 {
     return(new LuaList(new List <object>(list.list)));
 }
 public static void concat(LuaList list1, LuaList list2)
 {
     list1.list.AddRange(list2.list);
 }
 public static void trim(LuaList list, int index)
 {
     list.list.RemoveRange(index - 1, list.list.Count - index + 1);
 }
 public static void remove(LuaList list, int index)
 {
     list.list.RemoveAt(index - 1);
 }
 public static void prepend(LuaList list, object obj)
 {
     list.list.Insert(0, obj);
 }
 public static void trim(LuaList list, int index)
 {
     list.list.RemoveRange(index-1, list.list.Count - index + 1);
 }
        public static Func <object> iterator(LuaList list)
        {
            LuaListIterator iter = new LuaListIterator(list.list.GetEnumerator());

            return(new Func <object>(iter.next));
        }
 public static void append(LuaList list, object obj)
 {
     list.list.Add(obj);
 }
 public static Func<object> iterator(LuaList list)
 {
     LuaListIterator iter = new LuaListIterator(list.list.GetEnumerator());
     return new Func<object>(iter.next);
 }
 public static void concat(LuaList list1, LuaList list2)
 {
     list1.list.AddRange(list2.list);
 }
 public static LuaList merge(LuaList list1, LuaList list2)
 {
     List<object> list = new List<object>(list1.list);
     list.AddRange(list2.list);
     return new LuaList(list);
 }
 public static void insert(LuaList list, int index, object obj)
 {
     list.list.Insert(index - 1, obj);
 }
 public static void insert(LuaList list, int index, object obj)
 {
     list.list.Insert(index - 1, obj);
 }