Cabalized version of the StrategyLib library from Strafunski