1    private@
2    
3    type A<T> = T
4    
5    fun from_slice<T> (slice : Slice<T>) : A<T> where T : Number =
6        let mut sum = 0
7        for x in slice do
8            sum += x
9    
10       A sum
11   
12   do
13       let f<T> (a : A<T> @vararg) = a
14       let a = f<i32> 1 2 3
15       assert a.unwrap == 6
16   
17   type B =
18       let s : String
19       let a : A<u32> @vararg
20   
21   do
22       let b = B "s" 1 2 3
23       assert b.s == "s" && b.a.unwrap == 6
24