edit: in the US, it's completely legal to fire people because you don't like their taste in shoes, or because you're so attracted to them that you think you'll be tempted to try to cheat on your wife. I don't think we should have a carved out protected class for employees who sounded transphobic on twitter once. We should have a minimum process for firing people that is dictated by the state, and further process that is negotiated by the employee's union. "Free speech" libertarians hate that a lot more.