Dit soort problemen is zo'n mijnenveld van randgevallen dat ik de logica altijd zou delegeren aan iets als IceCube (https://github.com/seejohnrun/ice_cube ). Het is gemaakt om met dit soort terugkerende schema's om te gaan en wordt geleverd met eenvoudige ondersteuning voor serialisatie enz. Zelfs als het een beetje heroverwegen vereist van hoe je dingen doet, zou ik het ten zeerste aanbevelen om het te gebruiken.