TODO ==== BSON ---- + support something like toSql (convert a haskell type to bson) + reject keys that start with "$" or "."