functor (Weight : WEIGHT) -> S