public function transpose()
    {
        return new Enumerator(
            function () {
                $ret = [];
                foreach ($this->each() as $row) {
                    foreach ($row as $k => $col) {
                        $ret[$k][] = $col;
                    }
                }

                foreach ($ret as $k => $r) {
                    yield $k => $r;
                }
            }
        );
    }