I have the following code:
type Foo<T extends string = string> = `bar-${T}-foo`;
const v: Foo = 'bar-g-foo'
That works as expected, but it doesn't force the structure. The following is also valid:
const v: Foo = 'bar--foo'
How can I force the usage of T?