@NotNull DfaVariableValue makeVariable(@NotNull DfaCallState state, DfaValueFactory factory, DfaValue value) {
    DfType type = value.getDfType();
    if (type instanceof DfReferenceType) {
      if (type.isLocal()) {
        type = ((DfReferenceType)type).dropLocality();
        value = factory.fromDfType(type);
      }
      if (((DfReferenceType)type).getNullability() == DfaNullability.NULLABLE) {
        type = ((DfReferenceType)type).dropNullability();
      }
    }
    DfaVariableValue var = factory.getVarFactory().createVariableValue(new ContractTempDescriptor(this, type));
    state.getMemoryState().setVarValue(var, value);
    return var;
  }
@NotNull DfaVariableValue makeVariable(@NotNull DfaCallState state, DfaValueFactory factory, DfaValue value)