I'm not sure anyone is reading this, but just the same...
I have an better way to handle it that doesn't require that `x : String` return anything (looking at Crystal source is seems like it would be either a TypeDeclaration or an UndefinedVar, btw, but I'm not sure), nor do we need the slight adjustment to the behavior of `=` if the right hand side is such a thing.
Instead we simply make an exception to the usual `{method}=` expansion rule (e.g. `+=`). We make this exception because `:` is an built-in operator and not a method. So,
x := String
is simply syntax sugar for
x : String = String.new
Can't get any simpler than that.