Constraints on code switching: how universal are they? | Synapse