Let's directly go to the example. I am writing a sentence

Calling this function multiple times is unnecessary but harmless.

['Call a function' is idiomatic in say C/C++.]

I have a feeling that there could advantageously be an adverb placed at the end of this sentence to make it look more natural. But I am not sure whether it is

Calling this function multiple times is unnecessary but harmless either.


Calling this function for multiple times is unnecessary but harmless as well.

or something else.

Can someone please offer advice on this?

  • 1
    Did you do any research on this question before asking us? We like to help those who first try to help themselves. Please read the site guidelines. "for" is not needed. "Calling this function for multiple times is unnecessary but harmless." => "Calling this function multiple times is unnecessary, but harmless." – Anton Jan 26 at 10:17
  • Yes you are right. That "for" is unnecessary, but (at least to me) harmless : ) – aafulei Jan 26 at 10:36
  • 2
    Note that your question is misleading. You are not looking for an adverb that would replace "unnecessary but harmless", but "either" or "as well". Please edit. – fev Jan 26 at 11:12
  • 1
    otiose, redundant, unnecessary, superfluous, pointless, futile. – Greybeard Jan 26 at 11:31
  • 12
    I think perhaps your feeling is misleading you. Technical writing in particular should be clear and concise. The most natural phrasing is your first example, unadorned. – Gossar Jan 26 at 19:39

10 Answers 10


You need a concessive/contrastive (word or phrase); these normally come before the adjective at the end of the type of sentence you specify (ie 'It is A but C B' rather than 'It is A but B C'):

  • Calling this function multiple times is unnecessary but/though admittedly harmless.

  • Calling this function multiple times is unnecessary – but/though then again, harmless.

  • Calling this function multiple times is unnecessary, but/though on the other hand harmless.

  • Calling this function multiple times is unnecessary but/though nevertheless harmless.

A less 'abrupt' contrastive/concessive is 'at the same time', suggested by fev:

  • Calling this function multiple times is unnecessary, but/though at the same time harmless.

'After all' is in an informal register (and does often come last in the clause):

  • Calling this function multiple times is unnecessary – but/though harmless after all.

and 'albeit' (without the 'but/though') is very formal:

  • Calling this function multiple times is unnecessary albeit harmless.
  • 4
    My first thought was to use albeit, so I think it's a good answer (not too formal, IMO), but I wonder what the OP means by "harmless." Having some effect (albeit a "harmless" one) or actually having the same effect as calling the function once would have (i.e., indempotent; broadly defined, not technically)? In other words, subsequent calls have no effect...or do they? – KannE Jan 26 at 16:12
  • 1
    @TCooper - I thought of inconsequential and really liked it, but then I realized it, or rather its root, has the same problem--two meanings (re: effect vs. significance). Furthermore, as is sometimes the case, a prefix + a root becomes more than the sum of its parts; that is, inconsequential is more closely, if not entirely, related to significance, not effect (at least in dictionaries ordered by current/popular use, not by first recorded use). – KannE Jan 28 at 10:20
  • 1
    As a person who reads technical documentation on a regular basis, I would find such changes to the original abhorrent. They waste my time. Actually, I would even remove the "but harmless" part. – Bobort Jan 28 at 16:16
  • 1
    @TCooper - Alright then. That's my answer, to the original question... Calling the function multiple times is alright, not dyn-o-mite, but it's alright... – KannE Jan 29 at 0:06
  • 1
    @KannE While 'alright' typically has a slight positive connotation I assume the writer would want to avoid, that's also valid. I'd argue a bit silly for technical documents though... but upvote for the laugh – TCooper Jan 29 at 18:10

Calling this function multiple times is unnecessary but harmless.

The answer is simple. Your first version, shown above, is perfectly correct, logical and unambiguous.

Changing your original sentence is unnecessary and may even be harmful!

  • Yes, the original sentence is hard to improve on, especially in technical documentation. These extra words are all to common in paid-by-the-word magazine articles, which are not good examples of clear writing. – CCTO Jan 27 at 5:46

sounds like superfluous to me



adjective unnecessary, especially through being more than enough.

"the purchaser should avoid asking for superfluous information"

An adjective can work as well in your sentence.


Calling this function for multiple times is unnecessary but harmless either.

This sentence is incorrect, either would need a negative verb to make sense here:

Calling this function for multiple times is unnecessary, but it does not cause harm either. (not a very successful sentence)

Your second sentence is much better, nothing wrong with it. Other ways that would work just as fine would be:

Calling this function for multiple times is unnecessary but also harmless.

... is unnecessary but harmless at the same time.


Some answers say this, but to reiterate, your best bet in English (imo, and others here at least) is replacing the entire ending phrase with a single word. I say this with the background that it is technical writing and not a work of fiction, or similar where "flow" is more important than accuracy and conciseness. While I agree with the sentiment of other answers, I think the provided single word replacements are slightly off base. Instead of superfluous, extraneous, or redundant, try inconsequential.

"Calling this function multiple times is inconsequential"

Granted this phrasing is aimed at myself, a native english speaker - you know your audience better than I. But I think this is the best way to simply state what you're attempting to.

  • I think it does depend on if it's unnecessary because it's already been done (superfluous/redundant) or if it's unnecessary because it does nothing (inconsequential). a = a+0 is inconsequential, a = 3, a = 3, a = 3 ... the last two are superfluous/redundant. I would specifically differentiate between those two scenarios, to let people know what they can and can't change to still have the same effect. – user3067860 Jan 29 at 14:45
  • @user3067860 The singular result is assumed to have occurred already. You aren't concerned with the results of calling the function multiple times until it's been called once. If we know it is harmless then it is certainly inconsequential - the necessity (or lack of it) is implied because the software wouldn't have been created with a function that has the same effect when called one-to-many times if it needed to provide different output on successive calls – TCooper Jan 29 at 18:16
  • Though, I'll be the first to admit the choice between any of the 4 words I included in my answer, I think, is entirely personal preference. Due to so many dialects of English, these pedantic debates are inevitable because words' nuances make all the difference in a discussion like this – TCooper Jan 29 at 18:20
  • I'm thinking about a distributed system situation where if you send a request (e.g. to save some data) and don't receive a response then you can safely keep retrying. You don't know which calls are actually consequential (if any, maybe someone else saved the exact same data first!), all you know is that it definitely saved by the time you received a success response. In this way you can get different responses from calling an idempotent endpoint, because some of the responses are coming from the pipe (network) not the endpoint. – user3067860 Jan 29 at 18:52
  • @user3067860 makes sense... but why would you ever create that situation? It sounds more like a bug than a feature to me. Why wouldn't you send a failure or success response to every call? (yes, I prefer RESTful APIs, maybe where my lack of understanding comes from?) – TCooper Jan 29 at 23:37

I would phrase like this:

It is not necessary to call this function multiple times, but it won't hurt anything.


Multiple calls to this function are unnecessary, but they won't hurt anything.

Additionally, if this is a relevant example, unnecessary function calls waste resources, memory, and processing time; so, it is harmful. You could thus rephrase simply as:

Multiple calls to this function are unnecessary.

And leave it here.


What sort of audience are you speaking to? Literary, technical, professional, casual? Would stylistic emphasis help you find the delivery that you're looking for (i.e. italicization or employing punction)?

The nature of your sentence strikes me as congenial/lighthearted. If that's true, maybe try a conversational approach:

  • "Calling this function multiple times is unnecessary...but it's also (exceedingly/quite/totally) harmless."


  • "Calling this function multiple times is unnecessary — but — it's also (exceedingly/quite/totally) harmless."

The adverbs in parentheses are optional. They're there if you want to add a little cheek.

  • Welcome to EL&U. Please comment under the question to address OP directly or ask for more information instead of doing so in your answer. – niamulbengali Jan 26 at 11:06

I believe the entire idea can be captured concisely by a single word perhaps? How about "Calling this function multiple times is :" "extraneous" or "redundant" or as one other answer already suggested, "superfluous"


If you want to emphasize the contrast between the negative "redundant" and the positive (or at least neutral) "harmless" you could make it more explicit, reversing the order:

While calling the function more than once doesn't do any harm it is [entirely] redundant.

The advantage is that the main statement you want to make ("don't do that") ends the sentence.

Although given a choice I'd leave your original sentence, as others suggested as well.


You could simply state that that "This function is idempotent".

Idempotence (UK: /ˌɪdɛmˈpoʊtəns/,[1] US: /ˌaɪdəm-/)[2] is the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application.


  • You can say this, but depending on your team's background you might have to have some long explanations. (From personal experience.) – user3067860 Jan 29 at 14:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.