Casts now create a cast type with the cast function and cost. NarrowCallCandidatesStage takes the cast cost into account if there is any.