next = ({A, B, C}) => ({alpha, beta, gamma}) => {
const F = [...zip(A.map(convF), B.map(convF), C.map(convF))];
return {
A: F.map(([a, b, c]) => clamp(a * (1 + alpha * b - gamma * c), 0, 1)),
B: F.map(([a, b, c]) => clamp(b * (1 + beta * c - alpha * a), 0, 1)),
C: F.map(([a, b, c]) => clamp(c * (1 + gamma * a - beta * b), 0, 1)),
};
}