`__traits(getAliasThis)` and `AliasThisTypeOf` could return a tuple type from tuple alias this type, eg `std.typecons.Tuple`.
But, BooleanTypeOf!(Tuple!bool) should not return `bool`. So this is necessary to reject that case - if `AT` is a tuple type, a slice of tuple type will become the tuple itself. Otherwie, `AT[]` will make a dynamic array type.