Index: typed-records.scm =================================================================== --- typed-records.scm (revision 27258) +++ typed-records.scm (working copy) @@ -136,13 +136,15 @@ (cdr ctor)) (##sys#make-structure ',name - ,@(map (lambda (a/m/t) - (cond ((memq (first a/m/t) (cdr ctor)) (first a/m/t)) + ,@(map (lambda (a/m/t i) + (cond ((memq (first a/m/t) (cdr ctor)) + (vector (add1 i))) ;; XXX this indicates a problem: the initial value ;; of the slot is not necessarily of type ;; undefined - should be make this an error? (else '(##core#undefined)))) - accs/mods/types)))) + accs/mods/types + (iota (length accs/mods/types)))))) (,%colon ,pred (* -> boolean : (struct ,name))) ,@(append-map (lambda (a/m/t i)