"A sumtype may be declared as a template." __sumtype S(Types...) = Types | bool; ----- I only see a template parameter list. Can I still do the following? __sumtype S(A, B) = A foo | B bar;