functor (P : HorizonExp3Param) -> sig type bandit = banditPolicy val initialBandit : bandit val step : bandit -> float -> int * bandit end