I like Matthew's sharing reason too. I feel obligated to point out that most of those flexible record errors are really bugs in SML/NJ, and with proper flexible record inference (as MLton now has) would go away. But even then, I would use this style.