How are you handling notification rules (DSL only)?

@Al2Klimov one more question. If a user has no specific types/states defined and a default setup should match, would sth. like this work?

apply Notification "mail-" for (user in service.vars.users) to Service {
 command = "mail"
 users = [ user ]
 if (get_object(User, user).vars.mail) {
 states = get_object(User, user).vars.mail
 } else {
states = [ Ok, Warning, Critical, Unknown ] }
}

Or how has the condition be written?