private function mapIterator(callable $function = null) { if ($function === null) { return $this->elements; } else { return $this->scheme->projectionIterator($this->elements, null, $function); } }