Fix purity to go with runtime libraries. This means that using System.Math operations will not invalidate a function's pure status.
Added delegate sample code. Useful for backing code of delegates using std::function