What do you think of following demo code demostrating call-by-reference.
#lang typed/racket
( : addone : [Boxof Integer] -> Void )
(define addone
(lambda (x)
[begin
(: ux : Integer )
(define ux (unbox x))
(set-box! x (+ 1 ux ))
]
);lambda
);define
(define abox (box 1))
(addone abox)
(define anumber (unbox abox))
(write anumber)