これは Haskell の再帰的なデータ構造ですが、どのように機能しますか?
data Expression
= Var Variable
| Num Integer
| Plus Expression Expression
| Minus Expression Expression
| Times Expression Expression
| Div Expression Expression
data Variable = A | B
Minus (Plus (Var A)(Var B)) (VarB)
: この式はどのように機能しますか?