You know what, just because I want to watch the world burn I did
the horrible hacky way.
mixin template Magic()
{
import std.array : split;
static if (is(typeof(this) == T!(A), alias T, A...)) {
mixin(`alias Other = ` ~ T.stringof.split('(')[0] ~
`!(K.B);`);
}
else
{
static assert (0);
}
}