package vals

import (
	

	
	
)

// File is an alias for *os.File.
type File = *os.File

// List is an alias for the underlying type used for lists in Elvish.
type List = vector.Vector

// EmptyList is an empty list.
var EmptyList = vector.Empty

// MakeList creates a new List from values.
func ( ...interface{}) vector.Vector {
	 := vector.Empty
	for ,  := range  {
		 = .Cons()
	}
	return 
}

// Map is an alias for the underlying type used for maps in Elvish.
type Map = hashmap.Map

// EmptyMap is an empty map.
var EmptyMap = hashmap.New(Equal, Hash)

// MakeMap creates a map from arguments that are alternately keys and values. It
// panics if the number of arguments is odd.
func ( ...interface{}) hashmap.Map {
	if len()%2 == 1 {
		panic("Odd number of arguments to MakeMap")
	}
	 := EmptyMap
	for  := 0;  < len();  += 2 {
		 = .Assoc([], [+1])
	}
	return 
}