Add functional bson dsl
Update docs