The type of value (enumeration) cannot contain itself as a direct member, since it does not matter how large the data structure is, it cannot contain itself. Apparently, the related data on the cases of the transfer are considered as direct members of the transfer, therefore the related data cannot be the type of the transfer itself. (In fact, I want them to do recursive correspondence, which would be so great for functional data structures.)
, , . , ( ), , . , (, , ), .
: [Tree] Tree . Array , , Array, Array<T>, .