Try to make contract based programming easily usable without overhead on release builds