Unexpected 'dependency': expected: 'self', but found: 'step'

Can anybody please explain why the following error happens? What would be a solution for the problem? Thank you in advance!

'Week Prices': stategroup = switch >'Produce'>'Week Pricelist' (
	| none => 'Not Available' ( )
	| node as $ => 'Available' where 'Week Pricelist' = $ ( )
) (
	'Not Available' { }
	'Available' where 'Week Pricelist' -> >'Produce'>'Week Pricelist' {
		'Sales Week Prices': collection ['Week Price'] = .&'Week Pricelist'.'Week Prices'* @dormant: .'Fits requirements'?'No' {
			'Week Price': text -> ^ .&'Week Pricelist'.'Week Prices'[] = key
				@show: (
					'Class'
					'Colli Type'
					'Collo Base Cost'
				)
			'Countries of Origin': collection ['Origin'] = >'Week Price'.'Countries of Origin'* { // <- this gives an error.
				'Origin': text -> ^ ^ ^ ^ ^ .'Relationship Management'.'Countries'[] = key
			}

no valid ‘dependency’ found for ‘collection path’. Unexpected ‘dependency’:

application.alan(11320, 54): - expected: ‘self’

application.alan(11314, 29): - but found: ‘step’

application.alan(11314, 29): defined by .‘Customers’.‘Interested In’.‘Week Prices’.‘Available’.‘Sales Week Prices’.‘Week Price’ of type ‘application’!‘node’.‘attributes’.‘type’?‘property’.‘type’?‘text’.‘has reference’?‘yes’

I fixed it by creating an union. But can somebody please still explain why my initial setup does not work for future reference? :innocent:

'Countries of Origin': collection ['Origin'] = union (
	'' = >'Week Price'.'Countries of Origin'* >'Origin'
)
 {
	'Origin': text -> ^ ^ ^ ^ ^ .'Relationship Management'.'Countries'[] = key
}

The first try ‘uses’ >'Week Price' . 'Countries of Origin' entries to ‘fill’ the collection, but says they are of type . 'Relationship Management' . 'Countries'. That is not allowed, it should be exactly the same (so: 'Origin': text -> ^ >'Week Price' . 'Countries of Origin'[] = key ). The error message needs improvement, I see.