module localDependencies {
	
	type enumerated enumtype {
		enum1, enum2
	}
	type enumerated enumtype2 {
		enum2, enum1
	}
	
	modulepar {
		typeX pp1, pp2 := int2string(2), pp4:=someConst;
		typeY pp31 := someConst, pp5;
		
	}
	
	modulepar typeZ pp6, pp7;
	
	//* @desc 1
	template typeX templateY :={
		fieldZ := 1
	} 
	
	//* @desc 1
	function f1(typeX par1 := templateY){
		var enumtype ve1;
		ve1:=enum1;
	  	if (ve1 == enum1){
		}
		if (enum1 > enum2){
//		
		}
		f2();
		f2();
		f3();
	}
	
	function fr1(enumtype p1) return enumtype2{
		return enum1; 
	}
	
	function f2(){
		//f1();
		f3();
		fx(cx); 
		fr1(enum1) 
		if (enum2 == fr1(1)){
		
		}
		
	}
	external function fx(typeX p1);
	external const integer cx;
}