I understand that try_convert will try to use the implicit conversion on an object and return nil if the implicit conversion result is nil, if the object is nil or if no implicit conversion method exists. What would be a use case for try_convert? Is it meant to test an input and return it if it is of the intended type and nil otherwise, while avoiding getting a TypeError? Why not use is_a in this case?