Replaced TryGet checks with a longer version (that really works)
First attemp at getting Generic interfaces types handled. Based on MongoDB C# driver behavior.