nit: What does the notation `[< ... >]` mean? I think it's clearer if it's just `[params]`