dok/example/Algebraic-Data-Type
Algebraic Data Types (ADT) are at the base of Dok, because it is AST based.
Expression
I will use an approach similar to Racket Nanopass, where I can declare some variables always of a fixed type, so syntax declaration become more compact. But, for simulating this feauture I can use the syntax-macro feature of Dok. I can use also a :macro
for avoiding other boiler-plate code.