can we skip casting if no callback?