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

		$result = array_reduce( array_keys( $this->contexts ), function( $carry, $context ) use( &$contexts, &$namespaces )
		{
			$ctx = $contexts[ $context ];
			$typedMembers = isset( $ctx['entity']['segment']['typedMember'] )
				? $ctx['entity']['segment']['typedMember']
				: ( isset( $ctx['segment']['typedMember'] )
					  ? $ctx['segment']['typedMember']
					  : ( isset( $ctx['entity']['scenario']['typedMember'] )
							? $ctx['entity']['scenario']['typedMember']
							: ( isset( $ctx['scenario']['typedMember'] )
					  			? $ctx['scenario']['typedMember']
								: null
							  )
					  	)
				  );

			if ( ! $typedMembers ) return $carry;

			foreach ( $typedMembers as $typedMember )
			{
				$qname = qname( $typedMember['dimension'], $namespaces );
				$carry[ $qname->clarkNotation() ][] = $context;
			}

			return $carry;

		}, array() );

		return $result;
	}