functor
(
Weight_provider
:
WEIGHT_PROVIDER
)
->
S