functor (Pool : S-> S