> Unsurprisingly, in `ParaemterCanBeByVal` the hotspot is right here:
var formEventHandlerScopes = State.FindFormEventHandlers().Select(handler => handler.Scope);
In that call tree, `state.AllDeclarations` is iterated twice. Once to get `events`, and once to get `handlers`. But `UserDeclarations.ToList` already iterated them all once already, and the next line goes:
var eventHandlerScopes = State.AllDeclarations.FindBuiltInEventHandlers().Concat(declarations.FindUserEventHandle