It is currently possible to write
fun main() : void {
let void := 10;
}
This compiles to C, but obviously the resulting C program is not valid. The typechecker should avoid these cases.
Care should go into checking whether more complex cases such as
fun main() : void {
let A := 10;
}
model A {
let a :+ 0
}
should also be forbidden or not.