is_bst impl