type juggling and casting