Allow flatten to handle ridiculously large lists

Instead of praying to the gods `.apply` can handle an arguments object as large as the list