1. `separator` can be `nil`
2. for `String` it will be equal to `!self.empty?`