Since it’s all about the fun and the syntax
How about changing setprop
to setprop!
?
https://docs.julialang.org/en/v1/manual/style-guide/#Append-!-to-names-of-functions-that-modify-their-arguments-1
I see that you already use getprop!
for mutating get.