  We study private-good allocation under general constraints. Several prominent
examples are special cases, including house allocation, roommate matching,
social choice, and multiple assignment. Every individually strategy-proof and
Pareto efficient two-agent mechanism is an "adapted local dictatorship." Every
group strategy-proof N-agent mechanism has two-agent marginal mechanisms that
are adapted local dictatorships. These results yield new characterizations and
unifying insights for known characterizations. We find all group strategy-proof
and Pareto efficient mechanisms for the roommates problem. We give a related
result for multiple assignment. We prove the Gibbard--Satterthwaite Theorem and
give a partial converse.
