adding warning for empty()

Empty shows it's hard to get always right. So we discourage to use it.