When hydra evaluates a jobset, 'package-transitive-supported-systems' is called for every package+system combination. Each of these calls traverses the tree of inputs, but without eliminating duplicate transitive-inputs. In other words, the amount of time spent is proportional not to the number of transitive-inputs, but the number of _paths_ to all transitive-inputs. This patch memoizes 'package-transitive-supported-systems', so that the total time to apply it to all packages is O(N). Mark