visitor via Digitalmars-d-learn Wed, 09 Sep 2020 14:11:23 -0700
https://run.dlang.io/is/xiqi4P
not pretty :)) but ...