Reading over #2695 and its antecedent PRs #2688 and #2692 , I have the feeling that we still haven't quite got the API right for Properties modules:
- it's not obvious that we do, but I think we should, reexport the axioms from the underlying
isX : IsX ... substructure, otherwise we are left in the (slightly?) uneasy position of having to make multiple re-imports to get the 'widest possible' API (so perhaps the design question is more: "how wide should the API be?")
- we certainly don't consistently re-export
Algebra.Properties.Y y for each sub-bundle y :Y which is re-exported publicly by bundle X, but again, I think that we should (which, if nothing else, would encourage us to improve consistency in naming such properties)
Group is the first really intricate version of the phenomenon, where some recent retrofitting #2251 manages to re-export the underlying Loop and Quasigroup properties, but we still don't re-export the Monoid (and hence Semigroup) properties for the underlying monoid object.
We should improve our documentation of what we (think that we should) do, and try to ensure that we do, indeed, do it!
Reading over #2695 and its antecedent PRs #2688 and #2692 , I have the feeling that we still haven't quite got the API right for
Propertiesmodules:isX : IsX ...substructure, otherwise we are left in the (slightly?) uneasy position of having to make multiple re-imports to get the 'widest possible' API (so perhaps the design question is more: "how wide should the API be?")Algebra.Properties.Y yfor each sub-bundley :Ywhich is re-exported publicly by bundleX, but again, I think that we should (which, if nothing else, would encourage us to improve consistency in naming such properties)Groupis the first really intricate version of the phenomenon, where some recent retrofitting #2251 manages to re-export the underlyingLoopandQuasigroupproperties, but we still don't re-export theMonoid(and henceSemigroup) properties for the underlyingmonoidobject.We should improve our documentation of what we (think that we should) do, and try to ensure that we do, indeed, do it!