<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Contravariance on Dev &amp; Platform Engineering Hub</title><link>https://rhidayat.work/topics/contravariance/</link><description>Recent content in Contravariance on Dev &amp; Platform Engineering Hub</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Rachmat Hidayat</copyright><lastBuildDate>Sun, 09 Aug 2026 13:30:00 +0000</lastBuildDate><atom:link href="https://rhidayat.work/topics/contravariance/index.xml" rel="self" type="application/rss+xml"/><item><title>TS Ep 52: Variance (Covariance vs Contravariance)</title><link>https://rhidayat.work/series/typescript/advanced/12-variance-covariance-contravariance/</link><pubDate>Sun, 09 Aug 2026 13:30:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/advanced/12-variance-covariance-contravariance/</guid><description>Why is it safe to return a subclass instead of a superclass, but dangerous to accept a superclass parameter instead of a subclass? Welcome to Variance: the computer science underpinning of TypeScript&amp;rsquo;s assignability engine.</description></item></channel></rss>