Bst

if possible, avoid using empty returns; e.g., use "if not self.contains(val)" to preface the remainder of the function