I have lots of rules for which I would like to generate a schema from. I have found malli union to be a good candidate but im struggling to understand how I can use it to build up a larger map schema from many small, the code I have experimented with is as follows.
(mg/generate
(reduce mu/union [[:map
[:a [:map [:b [:enum 33]]]]]
[:map
[:a [:map [:b [:enum 44] [:not [:= 33]]]]]]
[:map
[:a [:map [:b [:enum 77]]]]]]))
What I would like to express is what is the allowed values and what are the not allowed values for every key and them merge them all together to form the final domain for each key. However the code shown do not for example exclude 33 which I would expect.
What am I missing in my understanding about malli?