factor out RequiredPutsFilter
depend on equalizer
Puts: use Equalizer
Put: use Equalizer
Function: use Equalizer
Seps: use Equalizer