My mathematical objects have in general a Dict of properties which are not computed at construction time because they are expensive to compute. Thus I compute a base and transversals by the Schreier-Sims algorithm only when the need arises, like iteration over the group elements. Further, as I explained,
after computing transversals as above, it may be that another computation (like computing the normalizer of a subgroup) leads to finding a better set of transversals. It is no problem to replace a list with a better one in the Dict. But it is clear that I have little information about transversals retrieved from a Dict{Symbol,Any}
. The retrieving function from the Dict is the one which gives them a type.