This trait provides a keep function which will determine if a element T must be kept with regards to:
specialization of the IncludedExcluded trait for string separated tags
a trait for anything that can be sized
tags the next element
Stateful class to create unique names.
Hopcroft-Karp (https://en.