Занятие 07.12

Constraints:

non-concurrent collector — thread-unsafe confine supplier

identity: empty can’t change result
compability: combine combiner and accumulator -> equals result
associative: combine.(r, combine(q,s)) == combine(combine(r,q), s)

reduce — only for immutable values

reducing — downstream collector