@Override public void setDoubleValue(VirtualFrame frame, PythonObject primary, double value) { try { if (check.accept(primary)) { write.setDoubleValueUnsafe(primary, value); } else { next.setDoubleValue(frame, primary, value); } } catch (InvalidAssumptionException | StorageLocationGeneralizeException e) { rewrite(next).setValue(frame, primary, value); } }