public static void Accept <TValue>(this TValue value, IExtender extender) => extender.Extend(new Accepter <TValue>(value));
public override void Accept(IExtender extender) => extender.Extend(this as TSelf);
public virtual void Accept(IExtender extender) => extender.Extend(this);