2 つの置換を引数として取る Haskell 関数を作成しています。引数のいずれかが の場合Nothing
、関数は を返しNothing
ます。どちらも でない場合はNothing
、それらを 1 つの置換に結合する必要があります。私は次のことをしました:
args :: Maybe (Subst a) -> Maybe (Subst a) -> Maybe (Subst a)
args (Just v) (Just v') = Just (v ++ v')
args _ _ = Nothing
ただし、予想される型が実際の型と一致しないというエラーが表示されます。なぜだか混乱しています。何か案は?