Better implementation of nonDefault