https://wheesnoza.dev/posts/extend-assertable-json-with-macroable/