what is `cast`? is it an extension method?