Typically, in a functional language, values are immutable.
So if you cons to a list, you create a new value that has the current list as its tail. Since all lists are immutable, they can be shared and there's no need for a deep copy.
Python is not a functional programming language....
Python is not a functional programming language....