thanks bob. this is actually a question for a developper, he's making a quote / estimate for a job with specific parameters and he knows how much time he'll need to code each module, so the work won't take longer unless there are additional modules which aren't planned yet, in which case they will be billed as a supplement.
here when i do a project, i don't think i could get away with saying "here's a reasonable estimate, but i'll charge you by the day for *every* day i work, so every additional version will cost you more money" just because even good clients want to plan the cost down to the penny and telling them "it might cost a lot more" would really not go over well. instead i try to plan slightly over the time i think i'll need for each step because i know there will always be a bit of back and forth (usually. i do have the occasional wonderful client who sees the first proposal and says "perfect ! yes ! do it just like that, don't change a thing"). and then there is the case of a client who gives you a very specific brief, and you do exactly what they asked, and it turns out they didn't actually want what they *said* they wanted, but something completely different.

i love those ones.