curried fun
execute block in a given execution mode
moved one method to SDGUtils
pass curried functions to 'solve'