Hi Sönke, I thought I'd post this question here rather than the github project as this concerns both the vibe.d project and the stddatajson.

Since my last post on the JSON library in vibe.d I have had a good look at the stddatajson library. I note that you have not changed much in it of late, but I also note that most functionality seems to work well and it's well documented. Do you currently have a list of outstanding features or issues, or are you pretty happy with it? If you do have anything that needs to be done, is it worth you posting the missing features or outstanding issues on github?

It does feel more like a standard library, as I know it is intended to become one. One great loss from the vibe.d version is the opDispatch overload. The other being the rather verbose get syntax (e.g. obj.get!(JSONValue[string])["a"]) You mentioned that these were due to the limitations of Algebraic. Is this something you feel that needs to be improved before using this on a larger scale or do you think that it will stay as it is unless Algebraic is potentially altered or improved?

Are your thoughts for this library to drop it into vibe.d at some point, write a serializer for the type and therefore turn it into an (almost) drop in replacement for the existing library?

Lastly, the Bson type in vibe.d looks as is if started it's life from the Json object (indeed there are a few places in the documentation that say Json when it means Bson) I feel like the Json object has had a fair bit of work done on it, leaving the Bson object a little out of date. We have worked around this by doing most of our query building in Json as it translates well enough to Bson anyway. Do you have any thoughts on this? Do you see yourself (or any of us) replacing the vibe.d Bson object with one based on stddatajson?

Apologies for the essay, I'm really interested in where this is going so as to know the best place to work and contribute.

Cheers,

David.