@ajdavis I tend to agree. I can't recall why I thought it was wise to do this validation here, rather than relying on PyMongo's validation. I've added #21 to address this.