来自 @fdotinc 的 Gmonad