Open wisnesky opened 5 years ago
If someone is feeling daring and finds it worthwhile, they might try factoring Term like this:
data Path var gen fk = | Var var | Gen gen | Fk fk (Path gen fk)
data Term var ty en sym fk att gen sk = | Var var | Sk sk | Att (Path var gen fk) | Sym sym (List (Term var ty en sym fk att gen sk))
If someone is feeling daring and finds it worthwhile, they might try factoring Term like this:
data Path var gen fk = | Var var | Gen gen | Fk fk (Path gen fk)
data Term var ty en sym fk att gen sk = | Var var | Sk sk | Att (Path var gen fk)
| Sym sym (List (Term var ty en sym fk att gen sk))