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));
}