PolyVec([List<Poly>? v]) : vec = List.generate(k, (_) => Poly()) { if (v != null) { if (v.length != k) throw ArgumentError('PolyVec needs $k polys'); for (var i = 0; i < k; i++) vec[i] = v[i]; } }