Oops, yes, I guess it should be an opaque. It's a leftover from a previous design approach where I was not providing the `create_filter()`.