casts and assertions