you could store the parsers supporting the input in the first loop, to loop only over them here and avoid calling ``supports`` a second time for all parsers