no need to be mutable
benchmark for polynomial