abstrakt:
data Exp = ... | Literal Integer | PrimitiveApplication { primop :: PrimOp , arg :: [ Exp ] } data PrimOp = PrimOp { name :: S.Id }
konkret:
(prim + 2 (prim * 3 4)))