The generated functions do not contain type signatures, which reduces readability and extends these functions' interfaces further than desired:
For example
generateHnatVarValue is inferred to be of type (Num t, Eq t) => t -> Variable -> Variable while it's use case is only with Integers, so it should be Int -> Variable -> Variable
-> xyzshiftplus :: ??
-> xyzshiftminus :: ??
-> termmap, typemap, substitution functions all require type signatures
The generated functions do not contain type signatures, which reduces readability and extends these functions' interfaces further than desired:
For example
generateHnatVarValue
is inferred to be of type(Num t, Eq t) => t -> Variable -> Variable
while it's use case is only with Integers, so it should beInt -> Variable -> Variable
-> xyzshiftplus :: ?? -> xyzshiftminus :: ?? -> termmap, typemap, substitution functions all require type signatures