A concrete type class representation that has all concrete types of its member properties and sealed subclasses computed and cached, recursively, so they can be reusable with re-computation, in a generic algebraic data type fashion.