(include "sexpc.scm")
((eval-type '()) 'v);
(define (test form)
(print ((eval-type form) 'v)))
(define tests '(
int char float uint
(struct chungus_t)
(ptr int) (array char)
(array 5 (const int)) (const int)
(const (ptr (array 5 (const int))))
(const (ptr int))
(array 5 (ptr int))
(ref (array 5 int))
(ptr (array (volatile char)))
(const (ptr float))
(ptr int)
(ullong schar -> (ptr (bool u128 -> ldouble)))
(int -> chungus_t)
(ptr (int -> chungus_t))
(array 5 (ptr (int -> chungus_t)))
((array 5 (ptr int)) -> (const (ptr (array 3 int))))
; int (((*const (v(int (*(())[5])))))[3])
; int (* const v(int *[5]))[3]
(array (const (ptr (char u128 -> (ptr (array 5 bool))))))
(array 5 (const (ref char)))))
(map test tests)