Why not Go: - numeric literals are typeless. This is really neat. 1.0 can be an integer in the right context. 500 can be a float. However string literals are not. '4' is a Rune literal "4" is a string literal Why? - value = foo() can throw an error value,err = foo() will instead return an error status in err. value = <-chan can block value,ok <-chan will not block, but ok will say if it wanted to. But different things should look different... Why not Rust: - everything is an expression... What about while loops?