some bst example code
Use generic parameter A instead of T
remove dynamic type