Programlamada polimorfizm, bir nesnenin farklı bağlamlarda farklı davranabilmesidir. Aynı metoda çağrı yaparsınız, fakat yanıt nesnenin türüne, durumuna ya da ait olduğu sınıfa göre değişir. Bir çiz komutu daireyi daire gibi, kareyi kare gibi, üçgeni üçgen gibi davranmaya çağırır. Dışarıdan bakınca komut tektir; içeride ise çeşitlilik çalışır. Bu fikir, yalnızca yazılım mühendislerinin temiz kod yazma hilesi değildir. İnsan toplumunu anlamak için de şaşırtıcı derecede verimli bir mercek sunar.
Sosyolojik çoklu kimlik kuramı bize şunu hatırlatır: İnsan tek parça, sabit, mermerden oyulmuş bir varlık değildir. Aynı kişi evde çocuk, işte yönetici, sokakta yurttaş, internette anonim bir kullanıcı, arkadaş grubunda komik biri, kriz anında lider olabilir. Burada sahtekârlık değil, bağlama duyarlı davranış vardır. Tıpkı polimorfik bir nesne gibi, insan da karşılaştığı sosyal arayüze göre kendini çalıştırır. Sorun, farklı davranmamızda değil; hangi durumda hangi benliği çağırdığımızı fark etmememizde başlar.