Вы пытались реализовать первый без дженериков, так как он должен вести себя одинаково:
public static void Method(this SomeInterface parameter) { /*...*/ }
Или, как предложил Дмитрий, путем вызова второго из следующих способов:
instances.Method<SomeImplementation>();
Но здесь вам нужно добавить <SomeImplementation>
к каждому вызову ...