I've noticed in some of the optimization work I've been doing lately there is a somewhat inconsistent pattern around the visibility of constructors on the various Op implementations.
Some have public constructors while some require static methods to be used to create them Is there a particular reason for this and could we move to supporting both modes universally across all Op implementations or would this create issues? Rob
