Designing Random Allocation Mechanisms: Theory and Applications | Synapse