|  | @@ -31,7 +31,7 @@ func (i *MemoryIterator[T]) Filter(f FilterFunc[T]) Iterator[T] {
 | 
	
		
			
				|  |  |  			m[key] = value
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | -	return newMemoryIterator(m, k, i)
 | 
	
		
			
				|  |  | +	return MemoryIter(m, k, i)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (i *MemoryIterator[T]) First() bool {
 | 
	
	
		
			
				|  | @@ -139,7 +139,7 @@ func (i *MemoryIterator[T]) Sort(f SortFunc[T]) Iterator[T] {
 | 
	
		
			
				|  |  |  	sort.Stable(s)
 | 
	
		
			
				|  |  |  	k := s.Result()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	return newMemoryIterator(i.m, k, i)
 | 
	
		
			
				|  |  | +	return MemoryIter(i.m, k, i)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (i *MemoryIterator[T]) SortKeys(f SortFunc[string]) Iterator[T] {
 | 
	
	
		
			
				|  | @@ -154,7 +154,7 @@ func (i *MemoryIterator[T]) SortKeys(f SortFunc[string]) Iterator[T] {
 | 
	
		
			
				|  |  |  	sort.Stable(s)
 | 
	
		
			
				|  |  |  	k := s.Result()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	return newMemoryIterator(i.m, k, i)
 | 
	
		
			
				|  |  | +	return MemoryIter(i.m, k, i)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (i *MemoryIterator[T]) Value() (T, error) {
 | 
	
	
		
			
				|  | @@ -166,7 +166,7 @@ func (i *MemoryIterator[T]) reset() {
 | 
	
		
			
				|  |  |  	i.pos = -1
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func newMemoryIterator[T any](m map[string]T, k []string, prev Iterator[T]) *MemoryIterator[T] {
 | 
	
		
			
				|  |  | +func MemoryIter[T any](m map[string]T, k []string, prev Iterator[T]) *MemoryIterator[T] {
 | 
	
		
			
				|  |  |  	i := &MemoryIterator[T]{
 | 
	
		
			
				|  |  |  		k: []string{},
 | 
	
		
			
				|  |  |  		m: m,
 |