static LiveValue dm_calculatedLiveValue(final DynModule module, final Class type, final F0 calc) { lock module.lock; final SimpleLiveValue value = new(type, callF(calc)); module.onChange(r { value.set(callF(calc)) }); ret value; } static LiveValue dm_calculatedLiveValue(Class type, F0 calc) { ret dm_calculatedLiveValue(dm_current_mandatory(), type, calc); } static LiveValue dm_calculatedLiveValue(Class type, IF0 calc) { ret dm_calculatedLiveValue(type, if0ToF0(calc)); } static LiveValue dm_calculatedLiveValue(IF0 calc) { ret dm_calculatedLiveValue(O, (F0) if0ToF0(calc)); }