我的代码中有以下构造:
f :: Maybe A -> X
f a = case a of
Nothing -> x
(Just b) -> case b of
Nothing -> y
(Just c) -> case c of
Nothing -> z
(Just d) -> d
我没有看到一个明显的方法来简化这个而不是使用嵌套maybe
函数,这不会让整个事情看起来更好。是否有任何聪明的——但仍然可以理解的——技巧可以帮助使这个结构更加“优雅”?