[Period<T>] use Func<T,T,T>
- remove custom delegate
[PolyRing] evaluate on Dictionary<K,V>