Static prediction of heap space usage for first-order functional programs | Synapse