fixed cp35348

Why all of the extra code instead of just calling TryGetValue, and doing the IsHashable check first if necessary?