Types from identifiers ====================== Here's a way of "manually inferring" the type from identifiers. It can be useful if identical identifier declarations appear over and over again. autotype token = Token autotype x = int autotype y = int autotype input = InputStream autotype p0 = [2]int autotype p1 = [2]int func sum(x, y) -> int { return x + y } func parse(arena, input) { ... ref token = .next_from_stream(input) ... } func calculate_location(p0, x) { # no point in abbreviating built-in types such as "int" to "let" int y ... [] p1 = [1,2] ... }