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