It would be nice to make it impossible for other crates to implement our *Ext traits, because then we could freely add new methods without breaking changes. (Adding the indexed_fold_skipnan method to MaybeNanExt in #33 is an example. If ndarray-stats was the only crate that could implement MaybeNanExt, then we could add indexed_fold_skipnan without that being a breaking change.)
ndarray accomplishes this for some of its traits (e.g. the Dimension trait) using a private marker type.
It would be nice to make it impossible for other crates to implement our
*Exttraits, because then we could freely add new methods without breaking changes. (Adding theindexed_fold_skipnanmethod toMaybeNanExtin #33 is an example. Ifndarray-statswas the only crate that could implementMaybeNanExt, then we could addindexed_fold_skipnanwithout that being a breaking change.)ndarrayaccomplishes this for some of its traits (e.g. theDimensiontrait) using a private marker type.