Text this: Understanding and design of efficient carrier-selective contacts for solar cells