improved behavior of Defaults.or()