I might find it confusing that <T> here is the type of the thing to check, whereas <T> in put() is the type of the thing to put.