Implicit Conversions
Some conversions need no as. Explicit conversions are covered in Casting.
Widening
Integer and float widening is implicit; no as required:
var a: i32 = 42
var b: i64 = a // implicit
as is permitted but redundant for widening conversions.
Upcasting (derived to base)
Derived-to-base pointer conversion is implicit; no as required:
class Animal { ... }
class Dog derives Animal { ... }
var dog = Dog("Rex", "Labrador")
var animal: *Animal = &dog // implicit upcast