[racket] type of make-vector

From: Alexander D. Knauth (alexander at knauth.org)
Date: Tue Jun 17 19:40:44 EDT 2014

The type of make-vector appears to be this:
> make-vector
- : (All (a)
      (case->
       (-> Integer (Vectorof (U Integer a)))
       (-> Integer a (Vectorof a))))
#<procedure:make-vector>

Is there a reason for the first argument being Integer instead of Natural?  

And Is there a reason for the result in the first case being (Vectorof (U Integer a)) instead of (Vectorof Zero)?

Shouldn’t it be this?:
(All (a)
  (case->
   (-> Natural (Vectorof Zero))
   (-> Natural a (Vectorof a))))




Posted on the users mailing list.