     if !this.tail().isEmpty() 
       this.cons(this.tail().first().get(), this.tail().tail)
     else
-      new Nil
+      new List()
   else 
     this.cons(this.head(), this.tail().remove(index-1))
       

  @return {List} A new list containing the elements of the prepended List and the elements of the original List.
###
List.prototype.prependList = (list) -> 
  if list.isEmpty() then this else this.cons(list.head(), this.prependList(list.tail()))

###
---------------------------------------------------------------------------------------------

  @return {Some|None} Some(element) is it exists, otherwise None
###
List.prototype.get = (index) -> 
  if index < 0 || this.isEmpty() 
    new None() 
    new None()
  else if (index == 0)
    new Some(this.head())
