static single assignment for functional programmers
a continuation-passing style intermediate language for guile
effects analysis in guile