Example:
template <typename TValue> struct ISetter<TValue>
{
virtual void Set(TValue value) = 0;
virtual ~ISetter<TValue>() = default;
};
=>
template <typename TValue>
struct ISetter<TValue>
{
virtual void Set(TValue value) = 0;
virtual ~ISetter<TValue>() = default;
};