Stripes style giving me hassle

Can’t figure this one out.
Getting an error using Stripes, most likely because there’s an AlphaL color in it.
However, adding a Black underlying base color, the usual quick-fix for a base layer containing a transparent color, is not working.
I feel like this has worked fine before, considering I copied the blade style out of an old config.
This way:

    StylePtr<Layers<
  // Black,
    Stripes<6000,-1000,Red,Black,AlphaL<White,Int<16000>>>,
    InOutTrL<TrWipe<400>,TrWipeIn<400>>
  >>(),

gives expected error:

ProffieOS/styles/stripes.h:42:22: error: conversion from 'RGBA_um_nod' to non-scalar type 'OverDriveColor' requested

But adding in the black layer doesn’t fix it.

    StylePtr<Layers<
    Black,
    Stripes<6000,-1000,Red,Black,AlphaL<White,Int<16000>>>,
    InOutTrL<TrWipe<400>,TrWipeIn<400>>
  >>(),

The error is more extensive

ProffieOS/styles/layers.h:41:58: error: ambiguous overload for 'operator<<' (operand types are 'SimpleColor' and 'SimpleColor')
   41 |   auto getColor(int led) -> decltype(base_.getColor(led) << layer_.getColor(led)) {
In file included from ProffieOS/ProffieOS.ino:443:
ProffieOS/common/color.h:553:20: note: candidate: 'SimpleColor operator<<(const SimpleColor&, const RGBA_um_nod&)'
  553 | inline SimpleColor operator<<(const SimpleColor& base, const RGBA_um_nod& over) {

-----repeating for a bunch of lines, then a bunch of: 
ProffieOS/common/color.h:656:3: note: in expansion of macro 'DISAMBIGUATE_OVER'
  656 |   DISAMBIGUATE_OVER(OverDriveColor, A)  \
      |   ^~~~~~~~~~~~~~~~~
ProffieOS/common/color.h:660:1: note: in expansion of macro 'DISAMBIGUATE_OVER2'
  660 | DISAMBIGUATE_OVER2(RGBA_um)
      | ^~~~~~~~~~~~~~~~~~
ProffieOS/common/color.h:653:15: note: candidate: 'OverDriveColor operator<<(const OverDriveColor&, const RGBA_um_nod&)'
  653 |   inline auto operator<<(const A & base, const B##_nod & over) ->decltype(base << B(over)) { return base << B(over); }
      |               ^~~~~~~~

---------- repeating -----------

Did I break it?

Stripes doesn’t support transparent colors.

Stripes cannot have layers inside the style and cannot use AlphaL as a Color.

oh yeah. :man_facepalming:
I thought I had it in a previous config, but I had actually just glazed over the Stripes closing > and assumed the AlphaL color that followed was a color of Stripes.
Nothing to see here, moving on.
Sorry, thanks.

Is this something that might be possible in the future?
It just came up as a road block again.

It would be a bit complicated, but it should be possible at least.

Essentially the code would have to use some template magic to decide if any of the inputs are transparent, then we need to do the whole calculation in RGBA instead.