Faking ADTs and GADTs in Languages That Shouldn't Have Them | Dark Hacker News