bool DoesAmbientPropertyApply (AmbientPropertyValue p, IEnumerable<XamlType> types, params XamlMember [] properties)
		{
			if (types == null || !types.Any () || types.Any (xt => xt.UnderlyingType != null && xt.UnderlyingType.IsInstanceOfType (p.Value)))
				if (properties == null || !properties.Any () || properties.Contains (p.RetrievedProperty))
					return true;
			return false;
		}
		public void Push (AmbientPropertyValue v)
		{
			live_stack.Push (v);
			values.Add (v);
		}