i can definitely agree with that, the filters are pretty crappy
they are very cheap to implement though
i haven't thought very much about how i would do it better, to be honest, but all the optional fields is a mess for parsing... it was probably the biggest job in my rewrite of the JSON parsing for my relay (i completely wrote it myself, took me about 3 weeks, and it's way faster and more efficient than any json parsing library could ever be)