Why Y? Deriving the Y Combinator in JavaScript · HackerTrans