Hello Libuster
I would like to add to your solid advice
Changing 10,000 ariary at a small merchant stall is like buying a stick of gum with $100 bill usa.
It can be considered rude, not polite but mostly annoying for the merchant - same in the USA and other places around the world..
Not only do most merchants start off the day with no change, most of their sales are small money 5 cents to 25 cents only. ( ariary zato---diman- zato ---arivo)
People buy one or two tomatoes or one onion only, not a kilo ( at 2,000 ariary).
Giving a small merchant 10,000ariary which is the same $3usa for a small priced sale will leave you waiting while they go off to make change which can take 5 to 10 minutes while they walk off in the distance that you no longer see them. I waited as long as 20 min when I forgot to take my bundle of small money to the small merchant market. They do not run off to make change they walk slowly and might stop off and have a conversation with someone they meet along the way. I usually return after I have shopped around, to get my change.
One trick to solving the problem where the merchant does not have enough change ( even with small money) is to buy more of what you wanted. 8 lemons instead of 5 lemons , Or a couple hundred grams of fish to round up the numbers to money they do have and they can make change without them walking off into the distance.
People do not have refrigeration in their homes so buying at the market once or twice a day, everyday is normal. Carrying small money is really what most locals only need and to carry 10,000 ariary is like carrying two days wage.
Long story short- be a friendly buyer and use small money in the road side stalls.