       }
       list = next
     }
+    guard list.isNull else {
+      throw EvalError.typeError(vectors, [.properListType])
+    }
     return .fixnum(Int64(n))
   }
   

    self.define(Procedure("vector-copy", vectorCopy))
    self.define(Procedure("vector-copy!", vectorOverwrite))
    self.define(Procedure("vector-fill!", vectorFill))
    self.define(Procedure("_vector-pivot!", vectorPivot))
    self.define("_vector-partition!", via:
      "(define (_vector-partition! pred v lo hi)",

      }
      res.append(vector.exprs[Int(i)])
      list = next
    }
    guard list.isNull else {
      throw EvalError.typeError(vectors, [.properListType])
    }
    return .makeList(res)
  }
