Podle toho, co furt píšeš, vůbec nevíš, o co jde. BoneFlute ti to třeba vysvětlí, ten je tu z ostatních asi jediný, kdo ví, o čem je řeč. Ty ses zasekl u algebraických typů, zkus třeba nejdříve GADT (Rust je nemá, ale například Scala a OCaml ano) a až je pobereš, budeš zase o krok blíž. Pokud teda chceš, se sebevzděláváním ti nikdo nepomůže, kdy sám nechceš.