assignements and casts or why do i have to cast in some cases?