di" da" di' da' work wonderfully.
di< da> (and variants) are problematic. same with di( and variants.
Example,
#include <stdio.h>
if I place the cursor anywhere within stdio.h (not the 's'), SE will display the error in the command bar "Not begin/end or paren pair, There is no active selection". (This works within vim the same as the quotes).
Now, the oddity, if you place the cursor on the first character after the opening '<' (in this case the 's'), di< will delete the contents, but leave the 's' in the brackets. da< will delete the string and the closing '>' leaving just the '<'.