``params`` should be read-only (assuming this is cartesian params)