public function AllEntities()
	{
		// In PHP 7.0 $this is passed to closure functions automatically but not in earlier versions
		$contexts = &$this->contexts;

		$result = array_reduce( array_keys( $this->contexts ), function( $carry, $context ) use( &$contexts ) {

			if ( ! isset( $contexts[ $context ]['entity']['identifier']['value'] ) ) return $carry;

			/**
			 * @var \lyquidity\xml\QName $qname
			 */
			$qname = new QName(  null, $contexts[ $context ]['entity']['identifier']['scheme'], $contexts[ $context ]['entity']['identifier']['value'] );

			if ( isset( $carry[ $qname->clarkNotation() ] ) ) return $carry;

			$carry[ $qname->clarkNotation() ] = 1;
			return $carry;

		}, array() );

		return array_keys( $result );
	}