Add special case in list_subscript native to return a new empty list when the source list is empty and the requested range is [0..-1] (inclusive) or [0...0] (exclusive). This enables using list[0..-1] as a universal copy idiom that works even for empty lists. Update the List.+ operator to use this idiom instead of manual iteration. Add test cases for both range forms on empty lists.
The Wren scripts in this directory get converted to C string literals and then inserted into their respective .c files so that the interpreter can load them directly without having to do any file IO.
The script that does this copying is script/generate_builtins.py.
You can invoke using make builtin.