Ooops! It looks like I made a mistake. It turns out that if you want to use a param object with a vector, you have to declare it as a vector. See how it’s done with the width param inside the blur abstraction.
Thanks to Andrew Benson for the original blur patch and to Andrew and Ben for finding the bug.
Thanks to Wes for showing the correct way of initializing a param object for vectors.