Add complex document support to BSON DSL