private function updateUncoveredAspectFacts( $uncoveredAspectFacts, $binding )
	{
		if ( ! $uncoveredAspectFacts || $binding instanceof ScopeVariableBinding ) return;

		// Get the current fact so the uncovered aspects array
		$fact = $binding->current();

		// Fill any null values in the parent binding with facts from $binding
		// NOTE: Arelle does it this way (see implicitFilter() on line 618 of FormulaEvaluator.py) but it is
		//       necessary that the facts in the parent binding take precedence.  The formula spec say that
		//       any of the facts can be used.  Still, for testing purposes, making this process as close to
		//       the way Arelle operates means it is easier to identify implementation problems.
		foreach ( $binding->uncoveredAspectFacts as $aspect => $fact )
		{
			// Don't change non-null aspects
			if ( ! is_null( $fact ) ) continue;

			// Otherwise, if the corresponding aspect in the existing uncovered aspect facts list is not null apply it.
			if ( ! isset( $uncoveredAspectFacts[ $aspect ] ) || is_null( $uncoveredAspectFacts[ $aspect ] ) ) continue;

			$binding->uncoveredAspectFacts[ $aspect ] = $uncoveredAspectFacts[ $aspect ];
		}
	}