Constructs a new, empty array list.
If not provided, the function parameter is requested to the Functions function factory methods.
an optional element equality testing function