The above are all dynamic techniques. Sargeant has studied the granularity which can be obtained with strict, but still purely functional languages using feedback from sample executions to drive the compilation process [107]. Sarkar's work on automatic partitioning for Sisal took a similar approach [108].