modeltype Ecore uses ecore('http://www.eclipse.org/emf/2002/Ecore');

library bug418961_lib;

helper List(EClass)::testListContext() : Sequence(EClass) {
	return self
}

helper List(EClass)::testListContext2() : List(EClass) {
	return self
}

helper Sequence(EClass)::testSequenceContext() : List(EClass) {
	return self
}

helper Collection(EClass)::testCollectionContext() : Collection(EClass) {
	return self
}

