template< class Inheritme, class Payload >
Spaghetti: public Inheritme
When asked why a Spaghetti generic requires two specific inputs, not one, the author will typically refer you to the excuses listed in the page "WhatIfInheritance".
WaterFall & JobSecurity lifecycles inspire this anti-pattern by convincing the "architect" programmer who fills the common code base up with them that only they are smart enough to know how these classes expect to get re-used. And only they understand that systems like these cannot easily be retrofitted into existing code to upgrade it (RefactorMercilessly), so the expense can only be paid for up front.
Other languages probably support similar needless complexities in these areas...