get(target, key) {
		let i = target.props.length;
		while (i--) {
			let p = target.props[i];
			if (is_function(p)) p = p();
			if (typeof p === 'object' && p !== null && key in p) return p[key];
		}
	}
The proxy handler for spread props. Handles the incoming array of props
that looks like `() => { dynamic: props }, { static: prop }, ..` and wraps
them so that the whole thing is passed to the component as the `$$props` argument.
@template {Record<string | symbol, unknown>} T
@type {ProxyHandler<{ props: Array<T | (() => T)> }>}}