mixinv2-library 0.3.0.post57.dev0__tar.gz → 0.3.0.post65.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/PKG-INFO +2 -2
  2. mixinv2_library-0.3.0.post65.dev0/src/mixinv2_library/Builtin/BinNatDecrement.mixin.yaml +47 -0
  3. mixinv2_library-0.3.0.post65.dev0/src/mixinv2_library/Builtin/BinNatEquality.mixin.yaml +68 -0
  4. mixinv2_library-0.3.0.post65.dev0/src/mixinv2_library/Builtin/BinNatPlus.mixin.yaml +73 -0
  5. mixinv2_library-0.3.0.post65.dev0/src/mixinv2_library/Builtin/BinNatVisitor.mixin.yaml +23 -0
  6. mixinv2_library-0.3.0.post65.dev0/src/mixinv2_library/Builtin/BooleanVisitor.mixin.yaml +17 -0
  7. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/NatEquality.mixin.yaml +16 -14
  8. mixinv2_library-0.3.0.post65.dev0/src/mixinv2_library/Builtin/NatVisitor.mixin.yaml +19 -0
  9. mixinv2_library-0.3.0.post57.dev0/src/mixinv2_library/Builtin/BinNatDecrement.mixin.yaml +0 -45
  10. mixinv2_library-0.3.0.post57.dev0/src/mixinv2_library/Builtin/BinNatEquality.mixin.yaml +0 -65
  11. mixinv2_library-0.3.0.post57.dev0/src/mixinv2_library/Builtin/BinNatPlus.mixin.yaml +0 -71
  12. mixinv2_library-0.3.0.post57.dev0/src/mixinv2_library/Builtin/BinNatVisitor.mixin.yaml +0 -19
  13. mixinv2_library-0.3.0.post57.dev0/src/mixinv2_library/Builtin/BooleanVisitor.mixin.yaml +0 -14
  14. mixinv2_library-0.3.0.post57.dev0/src/mixinv2_library/Builtin/NatVisitor.mixin.yaml +0 -16
  15. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/.gitignore +0 -0
  16. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/pyproject.toml +0 -0
  17. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/BinNatData.mixin.yaml +0 -0
  18. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/BinNatIncrement.mixin.yaml +0 -0
  19. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/BooleanAnd.mixin.yaml +0 -0
  20. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/BooleanData.mixin.yaml +0 -0
  21. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/BooleanEquality.mixin.yaml +0 -0
  22. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/BooleanNegation.mixin.yaml +0 -0
  23. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/BooleanOr.mixin.yaml +0 -0
  24. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/NatData.mixin.yaml +0 -0
  25. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/NatDecrement.mixin.yaml +0 -0
  26. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/NatPlus.mixin.yaml +0 -0
  27. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/NumberIsZero.mixin.yaml +0 -0
  28. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/Builtin/__init__.py +0 -0
  29. {mixinv2_library-0.3.0.post57.dev0 → mixinv2_library-0.3.0.post65.dev0}/src/mixinv2_library/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mixinv2-library
3
- Version: 0.3.0.post57.dev0
3
+ Version: 0.3.0.post65.dev0
4
4
  Summary: The MIXINv2 standard library — built-in definitions for MIXINv2
5
5
  Project-URL: Repository, https://github.com/Atry/MIXINv2
6
6
  Author-email: "Yang, Bo" <yang-bo@yang-bo.com>
@@ -10,4 +10,4 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Programming Language :: Python :: 3.13
11
11
  Classifier: Programming Language :: Python :: 3.14
12
12
  Requires-Python: >=3.13
13
- Requires-Dist: mixinv2==0.3.0.post57.dev0
13
+ Requires-Dist: mixinv2==0.3.0.post65.dev0
@@ -0,0 +1,47 @@
1
+ - [BinNatVisitor]
2
+ - BinNatFactory:
3
+ Product:
4
+ Decrement:
5
+ decreased: [Product]
6
+ Zero:
7
+ Decrement:
8
+ decreased: [Zero]
9
+ Even:
10
+ half:
11
+ Decrement:
12
+ decreased: [Product]
13
+ Decrement:
14
+ _HalfAcceptance:
15
+ - [Even, ~, half, Acceptance]
16
+ - VisitorMap:
17
+ ZeroVisitor:
18
+ decreased: [Zero]
19
+ EvenVisitor:
20
+ decreased:
21
+ - [Odd]
22
+ - halfOfPredecessor: [Even, ~, half, Decrement, decreased]
23
+ OddVisitor:
24
+ decreased:
25
+ - [Odd]
26
+ - halfOfPredecessor: [Even, ~, half, Decrement, decreased]
27
+ Accepted:
28
+ decreased: [Product]
29
+ decreased: [_HalfAcceptance, Accepted, decreased]
30
+ Odd:
31
+ Decrement:
32
+ _HalfAcceptance:
33
+ - [Odd, ~, halfOfPredecessor, Acceptance]
34
+ - VisitorMap:
35
+ ZeroVisitor:
36
+ decreased: [Zero]
37
+ EvenVisitor:
38
+ decreased:
39
+ - [Even]
40
+ - half: [Odd, ~, halfOfPredecessor]
41
+ OddVisitor:
42
+ decreased:
43
+ - [Even]
44
+ - half: [Odd, ~, halfOfPredecessor]
45
+ Accepted:
46
+ decreased: [Product]
47
+ decreased: [_HalfAcceptance, Accepted, decreased]
@@ -0,0 +1,68 @@
1
+ - [BinNatVisitor]
2
+ - [BooleanData]
3
+ - BinNatFactory:
4
+ - Product:
5
+ Equal:
6
+ other: [Product]
7
+ equal: [BinNatEquality, ~, Boolean]
8
+ Zero:
9
+ Equal:
10
+ other: [Product]
11
+ _OtherAcceptance:
12
+ - [other, Acceptance]
13
+ - VisitorMap:
14
+ ZeroVisitor:
15
+ equal: [BinNatEquality, ~, BooleanFactory, "True"]
16
+ EvenVisitor:
17
+ equal: [BinNatEquality, ~, BooleanFactory, "False"]
18
+ OddVisitor:
19
+ equal: [BinNatEquality, ~, BooleanFactory, "False"]
20
+ Accepted:
21
+ equal: [BinNatEquality, ~, Boolean]
22
+ equal: [_OtherAcceptance, Accepted, equal]
23
+ Even:
24
+ half:
25
+ Equal:
26
+ equal: [BinNatEquality, ~, Boolean]
27
+ Equal:
28
+ other:
29
+ - [Product]
30
+ - half: [Product]
31
+ _recursiveEquality:
32
+ - [Even, ~, half, Equal]
33
+ - other: [Equal, ~, other, half]
34
+ _OtherAcceptance:
35
+ - [other, Acceptance]
36
+ - VisitorMap:
37
+ ZeroVisitor:
38
+ equal: [BinNatEquality, ~, BooleanFactory, "False"]
39
+ EvenVisitor:
40
+ equal: [_recursiveEquality, equal]
41
+ OddVisitor:
42
+ equal: [BinNatEquality, ~, BooleanFactory, "False"]
43
+ Accepted:
44
+ equal: [BinNatEquality, ~, Boolean]
45
+ equal: [_OtherAcceptance, Accepted, equal]
46
+ Odd:
47
+ halfOfPredecessor:
48
+ Equal:
49
+ equal: [BinNatEquality, ~, Boolean]
50
+ Equal:
51
+ other:
52
+ - [Product]
53
+ - halfOfPredecessor: [Product]
54
+ _recursiveEquality:
55
+ - [Odd, ~, halfOfPredecessor, Equal]
56
+ - other: [Equal, ~, other, halfOfPredecessor]
57
+ _OtherAcceptance:
58
+ - [other, Acceptance]
59
+ - VisitorMap:
60
+ ZeroVisitor:
61
+ equal: [BinNatEquality, ~, BooleanFactory, "False"]
62
+ EvenVisitor:
63
+ equal: [BinNatEquality, ~, BooleanFactory, "False"]
64
+ OddVisitor:
65
+ equal: [_recursiveEquality, equal]
66
+ Accepted:
67
+ equal: [BinNatEquality, ~, Boolean]
68
+ equal: [_OtherAcceptance, Accepted, equal]
@@ -0,0 +1,73 @@
1
+ - [BinNatVisitor]
2
+ - [BinNatIncrement]
3
+ - BinNatFactory:
4
+ Product:
5
+ Plus:
6
+ sum: [Product]
7
+ Zero:
8
+ Plus:
9
+ addend: [Product]
10
+ sum: [addend]
11
+ Even:
12
+ half:
13
+ Plus:
14
+ sum: [Product]
15
+ Plus:
16
+ addend:
17
+ - [Product]
18
+ - half: [Product]
19
+ - halfOfPredecessor: [Product]
20
+ _AddendAcceptance:
21
+ - [addend, Acceptance]
22
+ - VisitorMap:
23
+ ZeroVisitor:
24
+ sum: [Even, ~]
25
+ EvenVisitor:
26
+ _recursiveAddition:
27
+ - [Even, ~, half, Plus]
28
+ - addend: [Plus, ~, addend, half]
29
+ sum:
30
+ - [Even]
31
+ - half: [_recursiveAddition, sum]
32
+ OddVisitor:
33
+ _recursiveAddition:
34
+ - [Even, ~, half, Plus]
35
+ - addend: [Plus, ~, addend, halfOfPredecessor]
36
+ sum:
37
+ - [Odd]
38
+ - halfOfPredecessor: [_recursiveAddition, sum]
39
+ Accepted:
40
+ sum: [Product]
41
+ sum: [_AddendAcceptance, Accepted, sum]
42
+ Odd:
43
+ halfOfPredecessor:
44
+ Plus:
45
+ sum: [Product]
46
+ increment: [Product]
47
+ Plus:
48
+ addend:
49
+ - [Product]
50
+ - half: [Product]
51
+ - halfOfPredecessor: [Product]
52
+ _AddendAcceptance:
53
+ - [addend, Acceptance]
54
+ - VisitorMap:
55
+ ZeroVisitor:
56
+ sum: [Odd, ~]
57
+ EvenVisitor:
58
+ _recursiveAddition:
59
+ - [Odd, ~, halfOfPredecessor, Plus]
60
+ - addend: [Plus, ~, addend, half]
61
+ sum:
62
+ - [Odd]
63
+ - halfOfPredecessor: [_recursiveAddition, sum]
64
+ OddVisitor:
65
+ _recursiveAddition:
66
+ - [Odd, ~, halfOfPredecessor, Plus]
67
+ - addend: [Plus, ~, addend, halfOfPredecessor]
68
+ sum:
69
+ - [Even]
70
+ - half: [_recursiveAddition, sum, increment]
71
+ Accepted:
72
+ sum: [Product]
73
+ sum: [_AddendAcceptance, Accepted, sum]
@@ -0,0 +1,23 @@
1
+ - [BinNatData]
2
+ - BinNatFactory:
3
+ Product:
4
+ Acceptance:
5
+ VisitorMap: []
6
+ Accepted: []
7
+ Zero:
8
+ Acceptance:
9
+ VisitorMap:
10
+ ZeroVisitor: []
11
+ Accepted: [VisitorMap, ZeroVisitor]
12
+ Even:
13
+ half: [Product]
14
+ Acceptance:
15
+ VisitorMap:
16
+ EvenVisitor: []
17
+ Accepted: [VisitorMap, EvenVisitor]
18
+ Odd:
19
+ halfOfPredecessor: [Product]
20
+ Acceptance:
21
+ VisitorMap:
22
+ OddVisitor: []
23
+ Accepted: [VisitorMap, OddVisitor]
@@ -0,0 +1,17 @@
1
+ - [BooleanData]
2
+ - BooleanFactory:
3
+ Product:
4
+ Acceptance:
5
+ VisitorMap: []
6
+ Accepted: []
7
+ "True":
8
+ Acceptance:
9
+ VisitorMap:
10
+ TrueVisitor: []
11
+ Accepted: [VisitorMap, TrueVisitor]
12
+
13
+ "False":
14
+ Acceptance:
15
+ VisitorMap:
16
+ FalseVisitor: []
17
+ Accepted: [VisitorMap, FalseVisitor]
@@ -7,15 +7,16 @@
7
7
  Zero:
8
8
  Equal:
9
9
  other: [Product]
10
- _OtherVisitors:
11
- - [other, Visitors]
12
- - ZeroVisitor:
13
- equal: [NatEquality, ~, BooleanFactory, "True"]
14
- SuccessorVisitor:
15
- equal: [NatEquality, ~, BooleanFactory, "False"]
10
+ _OtherAcceptance:
11
+ - [other, Acceptance]
12
+ - VisitorMap:
13
+ ZeroVisitor:
14
+ equal: [NatEquality, ~, BooleanFactory, "True"]
15
+ SuccessorVisitor:
16
+ equal: [NatEquality, ~, BooleanFactory, "False"]
16
17
  Accepted:
17
18
  equal: [NatEquality, ~, Boolean]
18
- equal: [_OtherVisitors, Accepted, equal]
19
+ equal: [_OtherAcceptance, Accepted, equal]
19
20
  Successor:
20
21
  predecessor:
21
22
  Equal:
@@ -27,13 +28,14 @@
27
28
  _recursiveEquality:
28
29
  - [Successor, ~, predecessor, Equal]
29
30
  - other: [Equal, ~, other, predecessor]
30
- _OtherVisitors:
31
- - [other, Visitors]
32
- - ZeroVisitor:
33
- equal: [NatEquality, ~, BooleanFactory, "False"]
34
- SuccessorVisitor:
35
- equal: [_recursiveEquality, equal]
31
+ _OtherAcceptance:
32
+ - [other, Acceptance]
33
+ - VisitorMap:
34
+ ZeroVisitor:
35
+ equal: [NatEquality, ~, BooleanFactory, "False"]
36
+ SuccessorVisitor:
37
+ equal: [_recursiveEquality, equal]
36
38
  Accepted:
37
39
  equal: [NatEquality, ~, Boolean]
38
- equal: [_OtherVisitors, Accepted, equal]
40
+ equal: [_OtherAcceptance, Accepted, equal]
39
41
  - [BooleanData]
@@ -0,0 +1,19 @@
1
+ - [NatData]
2
+ - NatFactory:
3
+ Product:
4
+ Acceptance:
5
+ VisitorMap: []
6
+ Accepted: []
7
+ Zero:
8
+ Acceptance:
9
+ VisitorMap:
10
+ ZeroVisitor: []
11
+ Accepted: [VisitorMap, ZeroVisitor]
12
+
13
+ Successor:
14
+ predecessor: [Product]
15
+
16
+ Acceptance:
17
+ VisitorMap:
18
+ SuccessorVisitor: []
19
+ Accepted: [VisitorMap, SuccessorVisitor]
@@ -1,45 +0,0 @@
1
- - [BinNatVisitor]
2
- - BinNatFactory:
3
- Product:
4
- Decrement:
5
- decreased: [Product]
6
- Zero:
7
- Decrement:
8
- decreased: [Zero]
9
- Even:
10
- half:
11
- Decrement:
12
- decreased: [Product]
13
- Decrement:
14
- _HalfVisitors:
15
- - [Even, ~, half, Visitors]
16
- - ZeroVisitor:
17
- decreased: [Zero]
18
- EvenVisitor:
19
- decreased:
20
- - [Odd]
21
- - halfOfPredecessor: [Even, ~, half, Decrement, decreased]
22
- OddVisitor:
23
- decreased:
24
- - [Odd]
25
- - halfOfPredecessor: [Even, ~, half, Decrement, decreased]
26
- Accepted:
27
- decreased: [Product]
28
- decreased: [_HalfVisitors, Accepted, decreased]
29
- Odd:
30
- Decrement:
31
- _HalfVisitors:
32
- - [Odd, ~, halfOfPredecessor, Visitors]
33
- - ZeroVisitor:
34
- decreased: [Zero]
35
- EvenVisitor:
36
- decreased:
37
- - [Even]
38
- - half: [Odd, ~, halfOfPredecessor]
39
- OddVisitor:
40
- decreased:
41
- - [Even]
42
- - half: [Odd, ~, halfOfPredecessor]
43
- Accepted:
44
- decreased: [Product]
45
- decreased: [_HalfVisitors, Accepted, decreased]
@@ -1,65 +0,0 @@
1
- - [BinNatVisitor]
2
- - [BooleanData]
3
- - BinNatFactory:
4
- - Product:
5
- Equal:
6
- other: [Product]
7
- equal: [BinNatEquality, ~, Boolean]
8
- Zero:
9
- Equal:
10
- other: [Product]
11
- _OtherVisitors:
12
- - [other, Visitors]
13
- - ZeroVisitor:
14
- equal: [BinNatEquality, ~, BooleanFactory, "True"]
15
- EvenVisitor:
16
- equal: [BinNatEquality, ~, BooleanFactory, "False"]
17
- OddVisitor:
18
- equal: [BinNatEquality, ~, BooleanFactory, "False"]
19
- Accepted:
20
- equal: [BinNatEquality, ~, Boolean]
21
- equal: [_OtherVisitors, Accepted, equal]
22
- Even:
23
- half:
24
- Equal:
25
- equal: [BinNatEquality, ~, Boolean]
26
- Equal:
27
- other:
28
- - [Product]
29
- - half: [Product]
30
- _recursiveEquality:
31
- - [Even, ~, half, Equal]
32
- - other: [Equal, ~, other, half]
33
- _OtherVisitors:
34
- - [other, Visitors]
35
- - ZeroVisitor:
36
- equal: [BinNatEquality, ~, BooleanFactory, "False"]
37
- EvenVisitor:
38
- equal: [_recursiveEquality, equal]
39
- OddVisitor:
40
- equal: [BinNatEquality, ~, BooleanFactory, "False"]
41
- Accepted:
42
- equal: [BinNatEquality, ~, Boolean]
43
- equal: [_OtherVisitors, Accepted, equal]
44
- Odd:
45
- halfOfPredecessor:
46
- Equal:
47
- equal: [BinNatEquality, ~, Boolean]
48
- Equal:
49
- other:
50
- - [Product]
51
- - halfOfPredecessor: [Product]
52
- _recursiveEquality:
53
- - [Odd, ~, halfOfPredecessor, Equal]
54
- - other: [Equal, ~, other, halfOfPredecessor]
55
- _OtherVisitors:
56
- - [other, Visitors]
57
- - ZeroVisitor:
58
- equal: [BinNatEquality, ~, BooleanFactory, "False"]
59
- EvenVisitor:
60
- equal: [BinNatEquality, ~, BooleanFactory, "False"]
61
- OddVisitor:
62
- equal: [_recursiveEquality, equal]
63
- Accepted:
64
- equal: [BinNatEquality, ~, Boolean]
65
- equal: [_OtherVisitors, Accepted, equal]
@@ -1,71 +0,0 @@
1
- - [BinNatVisitor]
2
- - [BinNatIncrement]
3
- - BinNatFactory:
4
- Product:
5
- Plus:
6
- sum: [Product]
7
- Zero:
8
- Plus:
9
- addend: [Product]
10
- sum: [addend]
11
- Even:
12
- half:
13
- Plus:
14
- sum: [Product]
15
- Plus:
16
- addend:
17
- - [Product]
18
- - half: [Product]
19
- - halfOfPredecessor: [Product]
20
- _AddendVisitors:
21
- - [addend, Visitors]
22
- - ZeroVisitor:
23
- sum: [Even, ~]
24
- EvenVisitor:
25
- _recursiveAddition:
26
- - [Even, ~, half, Plus]
27
- - addend: [Plus, ~, addend, half]
28
- sum:
29
- - [Even]
30
- - half: [_recursiveAddition, sum]
31
- OddVisitor:
32
- _recursiveAddition:
33
- - [Even, ~, half, Plus]
34
- - addend: [Plus, ~, addend, halfOfPredecessor]
35
- sum:
36
- - [Odd]
37
- - halfOfPredecessor: [_recursiveAddition, sum]
38
- Accepted:
39
- sum: [Product]
40
- sum: [_AddendVisitors, Accepted, sum]
41
- Odd:
42
- halfOfPredecessor:
43
- Plus:
44
- sum: [Product]
45
- increment: [Product]
46
- Plus:
47
- addend:
48
- - [Product]
49
- - half: [Product]
50
- - halfOfPredecessor: [Product]
51
- _AddendVisitors:
52
- - [addend, Visitors]
53
- - ZeroVisitor:
54
- sum: [Odd, ~]
55
- EvenVisitor:
56
- _recursiveAddition:
57
- - [Odd, ~, halfOfPredecessor, Plus]
58
- - addend: [Plus, ~, addend, half]
59
- sum:
60
- - [Odd]
61
- - halfOfPredecessor: [_recursiveAddition, sum]
62
- OddVisitor:
63
- _recursiveAddition:
64
- - [Odd, ~, halfOfPredecessor, Plus]
65
- - addend: [Plus, ~, addend, halfOfPredecessor]
66
- sum:
67
- - [Even]
68
- - half: [_recursiveAddition, sum, increment]
69
- Accepted:
70
- sum: [Product]
71
- sum: [_AddendVisitors, Accepted, sum]
@@ -1,19 +0,0 @@
1
- - [BinNatData]
2
- - BinNatFactory:
3
- Product:
4
- Visitors:
5
- Accepted: []
6
- Zero:
7
- Visitors:
8
- - ZeroVisitor: []
9
- Accepted: [ZeroVisitor]
10
- Even:
11
- half: [Product]
12
- Visitors:
13
- - EvenVisitor: []
14
- Accepted: [EvenVisitor]
15
- Odd:
16
- halfOfPredecessor: [Product]
17
- Visitors:
18
- - OddVisitor: []
19
- Accepted: [OddVisitor]
@@ -1,14 +0,0 @@
1
- - [BooleanData]
2
- - BooleanFactory:
3
- Product:
4
- Visitors:
5
- Accepted: []
6
- "True":
7
- Visitors:
8
- - TrueVisitor: []
9
- Accepted: [TrueVisitor]
10
-
11
- "False":
12
- Visitors:
13
- - FalseVisitor: []
14
- Accepted: [FalseVisitor]
@@ -1,16 +0,0 @@
1
- - [NatData]
2
- - NatFactory:
3
- Product:
4
- Visitors:
5
- Accepted: []
6
- Zero:
7
- Visitors:
8
- - ZeroVisitor: []
9
- Accepted: [ZeroVisitor]
10
-
11
- Successor:
12
- predecessor: [Product]
13
-
14
- Visitors:
15
- - SuccessorVisitor: []
16
- Accepted: [SuccessorVisitor]