A formal S4 class that extends MizerParams but adds no new slots.
All reef-specific state (refuge, algae, detritus parameters) lives in
other_params(params). The class label enables S3 dispatch of mizer
generics to mizerReef-specific methods.
Details
The class is not defined statically. Instead mizer creates it when the
package is loaded: .onLoad() calls mizer::registerExtension(), which
recognises mizerReef as a dispatching extension from the S3 methods it
registers for its marker class and inserts mizerReef at the correct place
in the S4 hierarchy relative to any other extension packages loaded in the
same session. This lets mizerReef be chained with other extensions (for
example mizerMR, to add multiple resources) in either load order. A static
contains = "MizerParams" definition would fix mizerReef as a direct sibling
of every other extension and prevent such chaining, because a sealed class
cannot be re-parented.
