Rust is staticly typed, but uses type inference to make sure we don't end up with Java-style mouthfuls like 'Integer myInteger = new Integer(5)'

1 let a = 5 + 4 ; 2 let b = a + 2 ;

You can specify the type if you want, which comes in handy sometimes.