Well, the point of keeping track of side-effects is that you keep track of 
them... It's the "leaf functions" (functions that doesn't depend on other 
functions) that should be funcs, and then the rest of the functions can be 
funcs or procs depending on **what they actually are**. For example the main 
function should be a proc but it can use funcs. Having everything be a func 
defeats the point of using them at all IMHO. But sure, if there is some silly 
case you can use it, but as I said, using func for absolutely everything 
defeats the point of using it in the first place if you only have to "cheat" 
the system all the time.

Nice solution you found though! Seems solid :D

Reply via email to