I still don't get this category thing but I flagged the deletion of this post as you requested.
Vec<Param> - tuple is used for ergonomic API. Also enum Param cannot be extended by external lib which I need
ParamsExt - while it works - do people actually use this pattern and double the signature?