clean up + comments
experimental support for side effects during partial eval