Refactor and add special handling for new Value(null)