Implementing the Lindahl voluntary-exchange mechanism