diff --git a/alib2algo/src/arbology/exact/ExactNonlinearTreePatternAutomaton.h b/alib2algo/src/arbology/exact/ExactNonlinearTreePatternAutomaton.h
index 2df1e0ac760bbed9163f5063213766deccd41305..5361038332963a8840cd98c9aa6605f99c733eed 100644
--- a/alib2algo/src/arbology/exact/ExactNonlinearTreePatternAutomaton.h
+++ b/alib2algo/src/arbology/exact/ExactNonlinearTreePatternAutomaton.h
@@ -51,7 +51,7 @@ void ExactNonlinearTreePatternAutomaton::constructTail ( automaton::InputDrivenN
 
 	for (++ rankedSymbolsIter, ++ subtreeRepeatsIter, ++i; rankedSymbolsIter != tree.getContent ( ).end ( ); ++ rankedSymbolsIter, ++ subtreeRepeatsIter, ++i ) {
 		common::ranked_symbol < SymbolType > symbol = * rankedSymbolsIter;
-		subtreeJumps.push_back ( std::make_pair ( ( size_t ) symbol.getRank ( ), i - 1 ) );
+		subtreeJumps.push_back ( std::make_pair ( symbol.getRank ( ), i - 1 ) );
 		subtreeRepeatsStack.push_back ( subtreeRepeatsIter->getSymbol ( ) );
 
 		ext::pair < unsigned, unsigned > currentState = ext::make_pair ( i, subtreeId + 1 );
@@ -92,7 +92,7 @@ automaton::InputDrivenNPDA < common::ranked_symbol < SymbolType >, char, ext::pa
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : tree.getAlphabet ( ) ) {
 		res.addInputSymbol ( symbol );
-		res.setPushdownStoreOperation ( symbol, ext::vector < char > ( 1, S ), ext::vector < char > ( ( size_t ) symbol.getRank ( ), S ) );
+		res.setPushdownStoreOperation ( symbol, ext::vector < char > ( 1, S ), ext::vector < char > ( symbol.getRank ( ), S ) );
 	}
 
 	res.addInputSymbol ( subtreeWildcard );
@@ -111,7 +111,7 @@ automaton::InputDrivenNPDA < common::ranked_symbol < SymbolType >, char, ext::pa
 	typename ext::vector < common::ranked_symbol < unsigned > >::const_iterator subtreeRepeatsIter;
 	for ( rankedSymbolsIter = tree.getContent ( ).begin(), subtreeRepeatsIter = repeats.getContent ( ).begin ( ); rankedSymbolsIter != tree.getContent ( ).end ( ); ++ rankedSymbolsIter, ++ subtreeRepeatsIter, ++ i ) {
 		common::ranked_symbol < SymbolType > symbol = * rankedSymbolsIter;
-		subtreeJumps.push_back ( std::make_pair ( ( size_t ) symbol.getRank ( ), i - 1 ) );
+		subtreeJumps.push_back ( std::make_pair ( symbol.getRank ( ), i - 1 ) );
 		subtreeRepeatsStack.push_back ( subtreeRepeatsIter->getSymbol ( ) );
 
 		ext::pair < unsigned, unsigned > currentState = ext::make_pair ( i, 0u );
diff --git a/alib2algo/src/arbology/exact/ExactPatternMatchingAutomaton.h b/alib2algo/src/arbology/exact/ExactPatternMatchingAutomaton.h
index c02213a97d0b4b36614839cd64b4bc143cc962fd..f6c00d866c80c42c0a72ded6681eca04be205355 100644
--- a/alib2algo/src/arbology/exact/ExactPatternMatchingAutomaton.h
+++ b/alib2algo/src/arbology/exact/ExactPatternMatchingAutomaton.h
@@ -62,7 +62,7 @@ template < class SymbolType >
 ext::vector < char > computeRHS ( const tree::PrefixRankedPattern < SymbolType > & pattern, const ext::vector < int > & patternSubtreeJumpTable, int i ) {
 	const ext::vector < common::ranked_symbol < SymbolType > > & content = pattern.getContent ( );
 
-	unsigned rank = ( unsigned ) content [ i ].getRank ( );
+	unsigned rank = content [ i ].getRank ( );
 
 	i++;
 
@@ -97,7 +97,7 @@ automaton::NPDA < common::ranked_symbol < SymbolType >, char, unsigned > ExactPa
 	for ( const common::ranked_symbol < SymbolType > & symbol : pattern.getAlphabet ( ) ) {
 		if ( symbol == pattern.getSubtreeWildcard ( ) ) continue;
 
-		res.addTransition ( 0, symbol, ext::vector < char > ( 1, 'T' ), 0, ext::vector < char > ( ( size_t ) symbol.getRank ( ), 'T' ) );
+		res.addTransition ( 0, symbol, ext::vector < char > ( 1, 'T' ), 0, ext::vector < char > ( symbol.getRank ( ), 'T' ) );
 	}
 
 	ext::vector < int > patternSubtreeJumpTable = tree::properties::SubtreeJumpTable::compute ( pattern );
@@ -111,15 +111,15 @@ automaton::NPDA < common::ranked_symbol < SymbolType >, char, unsigned > ExactPa
 			for ( const common::ranked_symbol < SymbolType > & alphabetSymbol : pattern.getAlphabet ( ) ) {
 				if ( alphabetSymbol == pattern.getSubtreeWildcard ( ) ) continue;
 
-				if ( ( unsigned ) alphabetSymbol.getRank ( ) == 0 ) {
+				if ( alphabetSymbol.getRank ( ) == 0 ) {
 					res.addTransition ( i - 1, alphabetSymbol, ext::vector < char > ( 1, 'T' ), i - 1, ext::vector < char > { } );
 
 					res.addTransition ( i - 1, alphabetSymbol, ext::vector < char > ( 1, 'R' ), i, ext::vector < char > { } );
 				} else {
-					ext::vector < char > push ( ( unsigned ) alphabetSymbol.getRank ( ), 'T' );
+					ext::vector < char > push ( alphabetSymbol.getRank ( ), 'T' );
 					res.addTransition ( i - 1, alphabetSymbol, ext::vector < char > ( 1, 'T' ), i - 1, push );
 
-					push [ ( unsigned ) alphabetSymbol.getRank ( ) - 1 ] = 'R';
+					push [ alphabetSymbol.getRank ( ) - 1 ] = 'R';
 					res.addTransition ( i - 1, alphabetSymbol, ext::vector < char > ( 1, 'R' ), i - 1, push );
 				}
 			}
@@ -224,9 +224,9 @@ unsigned constructRecursivePattern ( const ext::tree < common::ranked_symbol < S
 
 		for ( const common::ranked_symbol < SymbolType > & symbol : res.getInputAlphabet ( ) ) {
 			ext::vector < unsigned > states;
-			states.reserve ( ( size_t ) symbol.getRank ( ) );
+			states.reserve ( symbol.getRank ( ) );
 
-			for ( unsigned i = 0; i < ( unsigned ) symbol.getRank ( ); i++ )
+			for ( unsigned i = 0; i < symbol.getRank ( ); i++ )
 				states.push_back ( state );
 
 			res.addTransition ( symbol, states, state );
@@ -235,7 +235,7 @@ unsigned constructRecursivePattern ( const ext::tree < common::ranked_symbol < S
 		return state;
 	} else {
 		ext::vector < unsigned > states;
-		states.reserve ( ( size_t ) node.getData ( ).getRank ( ) );
+		states.reserve ( node.getData ( ).getRank ( ) );
 
 		for ( const ext::tree < common::ranked_symbol < SymbolType > > & child : node.getChildren ( ) )
 			states.push_back ( constructRecursivePattern ( child, res, subtreeWildcard, nextState ) );
@@ -276,7 +276,7 @@ unsigned constructRecursivePattern ( const ext::tree < common::ranked_symbol < S
 		for ( const common::ranked_symbol < SymbolType > & symbol : res.getInputAlphabet ( ) ) {
 			ext::multiset < unsigned > states;
 
-			for ( unsigned i = 0; i < ( unsigned ) symbol.getRank ( ); i++ )
+			for ( unsigned i = 0; i < symbol.getRank ( ); i++ )
 				states.insert ( state );
 
 			res.addTransition ( symbol, states, state );
diff --git a/alib2algo/src/arbology/exact/ExactSubtreeAutomaton.h b/alib2algo/src/arbology/exact/ExactSubtreeAutomaton.h
index 597e8fe4032d450ee0fc214a8e404afd4f2e74e5..3c6a57332621af5354ab4f392c4579426156cb4d 100644
--- a/alib2algo/src/arbology/exact/ExactSubtreeAutomaton.h
+++ b/alib2algo/src/arbology/exact/ExactSubtreeAutomaton.h
@@ -24,7 +24,7 @@ automaton::InputDrivenNPDA < common::ranked_symbol < SymbolType >, char, unsigne
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : tree.getAlphabet ( ) ) {
 		res.addInputSymbol ( symbol );
-		res.setPushdownStoreOperation ( symbol, ext::vector < char > ( 1, 'S' ), ext::vector < char > ( ( size_t ) symbol.getRank ( ), 'S' ) );
+		res.setPushdownStoreOperation ( symbol, ext::vector < char > ( 1, 'S' ), ext::vector < char > ( symbol.getRank ( ), 'S' ) );
 	}
 
 	unsigned i = 1;
diff --git a/alib2algo/src/arbology/exact/ExactSubtreeMatchingAutomaton.h b/alib2algo/src/arbology/exact/ExactSubtreeMatchingAutomaton.h
index 83eac05ec54bba2ab68e3ed443970748b4fe776b..bf6d3b7170255a046c814dab98a714a26b147d92 100644
--- a/alib2algo/src/arbology/exact/ExactSubtreeMatchingAutomaton.h
+++ b/alib2algo/src/arbology/exact/ExactSubtreeMatchingAutomaton.h
@@ -41,7 +41,7 @@ automaton::InputDrivenNPDA < common::ranked_symbol < SymbolType >, char, unsigne
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : pattern.getAlphabet ( ) ) {
 		res.addInputSymbol ( symbol );
-		res.setPushdownStoreOperation ( symbol, ext::vector < char > ( 1, 'S' ), ext::vector < char > ( ( size_t ) symbol.getRank ( ), 'S' ) );
+		res.setPushdownStoreOperation ( symbol, ext::vector < char > ( 1, 'S' ), ext::vector < char > ( symbol.getRank ( ), 'S' ) );
 	}
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : pattern.getAlphabet ( ) ) {
@@ -95,7 +95,7 @@ template < class SymbolType >
 unsigned constructRecursive ( const ext::tree < common::ranked_symbol < SymbolType > > & node, automaton::NFTA < SymbolType, unsigned > & res, unsigned & nextState ) {
 	ext::vector < unsigned > states;
 
-	states.reserve ( ( size_t ) node.getData ( ).getRank ( ) );
+	states.reserve ( node.getData ( ).getRank ( ) );
 
 	for ( const ext::tree < common::ranked_symbol < SymbolType > > & child : node.getChildren ( ) )
 		states.push_back ( constructRecursive ( child, res, nextState ) );
diff --git a/alib2algo/src/arbology/exact/ExactTreePatternAutomaton.h b/alib2algo/src/arbology/exact/ExactTreePatternAutomaton.h
index 3ae79e2bf4e5762a51870713c72e0e3e2061c378..354c63e70219a09f7c3a4c173fc6fb67b5ec94f4 100644
--- a/alib2algo/src/arbology/exact/ExactTreePatternAutomaton.h
+++ b/alib2algo/src/arbology/exact/ExactTreePatternAutomaton.h
@@ -82,7 +82,7 @@ automaton::InputDrivenNPDA < common::ranked_symbol < SymbolType >, char, unsigne
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : tree.getAlphabet ( ) ) {
 		res.addInputSymbol ( symbol );
-		res.setPushdownStoreOperation ( symbol, ext::vector < char > ( 1, S ), ext::vector < char > ( ( size_t ) symbol.getRank ( ), S ) );
+		res.setPushdownStoreOperation ( symbol, ext::vector < char > ( 1, S ), ext::vector < char > ( symbol.getRank ( ), S ) );
 	}
 
 	res.addInputSymbol ( subtreeWildcard );
@@ -92,7 +92,7 @@ automaton::InputDrivenNPDA < common::ranked_symbol < SymbolType >, char, unsigne
 	ext::deque < std::pair < size_t, unsigned > > subtreeJumps;
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : tree.getContent ( ) ) {
-		subtreeJumps.push_back ( std::make_pair ( ( size_t ) symbol.getRank ( ), i - 1 ) );
+		subtreeJumps.push_back ( std::make_pair ( symbol.getRank ( ), i - 1 ) );
 
 		res.addState ( i );
 		res.addTransition ( i - 1, symbol, i );
diff --git a/alib2algo/src/arbology/properties/ExactSubtreeRepeatsFromSubtreeAutomaton.h b/alib2algo/src/arbology/properties/ExactSubtreeRepeatsFromSubtreeAutomaton.h
index 212adc4f6f1e59f697d40227c825034101ece5be..4d89211049cbc17d1dd380a3c0ecfd838a107b27 100644
--- a/alib2algo/src/arbology/properties/ExactSubtreeRepeatsFromSubtreeAutomaton.h
+++ b/alib2algo/src/arbology/properties/ExactSubtreeRepeatsFromSubtreeAutomaton.h
@@ -37,7 +37,7 @@ void ExactSubtreeRepeatsFromSubtreeAutomaton::repeatsInternal ( const tree::Pref
 			repeats [ label - size ] = common::ranked_symbol < unsigned > ( * state.begin ( ) - size, originalTree.getContent ( ) [ * state.begin ( ) - size ].getRank ( ) );
 	else
 		for ( const std::pair < const ext::pair < ext::set < unsigned >, common::ranked_symbol < SymbolType > >, ext::set < unsigned > > & transition : automaton.getTransitionsFromState ( state ) )
-			repeatsInternal ( originalTree, automaton, repeats, transition.second, size + 1, ac - 1 + ( unsigned ) transition.first.second.getRank ( ) );
+			repeatsInternal ( originalTree, automaton, repeats, transition.second, size + 1, ac - 1 + transition.first.second.getRank ( ) );
 }
 
 template < class SymbolType >
diff --git a/alib2algo/src/automaton/run/Run.h b/alib2algo/src/automaton/run/Run.h
index 5c107e9051c4014d957a1a03d120a5358fb36cfd..5861e6ad0019e3f0f1a064bd432e4c2aac251ce8 100644
--- a/alib2algo/src/automaton/run/Run.h
+++ b/alib2algo/src/automaton/run/Run.h
@@ -498,7 +498,7 @@ template < class SymbolType, class StateType >
 ext::pair < bool, StateType > Run::calculateState ( const automaton::DFTA < SymbolType, StateType > & automaton, const ext::tree < common::ranked_symbol < SymbolType > > & node, ext::set < unsigned > & occ, unsigned & i ) {
 	ext::vector < StateType > states;
 
-	states.reserve ( ( size_t ) node.getData ( ).getRank ( ) );
+	states.reserve ( node.getData ( ).getRank ( ) );
 
 	unsigned tmp = i;
 	i++;
@@ -591,7 +591,7 @@ template < class SymbolType, class StateType >
 ext::pair < bool, ext::set < StateType > > Run::calculateStates ( const automaton::NFTA < SymbolType, StateType > & automaton, const ext::tree < common::ranked_symbol < SymbolType > > & node, ext::set < unsigned > & occ, unsigned & i ) {
 	ext::vector < ext::set < StateType > > resStates;
 
-	resStates.reserve ( ( size_t ) node.getData ( ).getRank ( ) );
+	resStates.reserve ( node.getData ( ).getRank ( ) );
 
 	unsigned tmp = i;
 	i++;
@@ -613,7 +613,7 @@ ext::pair < bool, ext::set < StateType > > Run::calculateStates ( const automato
 		if ( transition.first.first != node.getData ( ) )
 			continue;
 
-		unsigned rank = ( unsigned ) transition.first.first.getRank ( );
+		unsigned rank = transition.first.first.getRank ( );
 		unsigned j;
 
 		for ( j = 0; j < rank; j++ )
diff --git a/alib2algo/src/rte/convert/ToFTAGlushkov.h b/alib2algo/src/rte/convert/ToFTAGlushkov.h
index 7de60cdd8dee0158728d9c5a682cf557f33dce2c..1251c96588d9bbfe857500349b7a3f50e5856c8e 100644
--- a/alib2algo/src/rte/convert/ToFTAGlushkov.h
+++ b/alib2algo/src/rte/convert/ToFTAGlushkov.h
@@ -135,7 +135,7 @@ automaton::NFTA < SymbolType, ext::set < common::ranked_symbol < ext::pair < Sym
 	for ( const common::ranked_symbol < ext::pair < SymbolType, unsigned > > & symb : indexedRTE.getAlphabet ( ) ) {
 		ext::set < common::ranked_symbol < ext::pair < SymbolType, unsigned > > > stateTo ( { symb } );
 
-		if ( symb.getRank ( ) == unsigned ( 0 ) ) {
+		if ( symb.getRank ( ) == 0 ) {
 			if ( common::GlobalData::verbose ) {
 				common::Streams::err << "Transition 3: " << phi ( symb ) << " -> " <<  stateTo << std::endl;
 			}
diff --git a/alib2algo/src/tree/properties/BadCharacterShiftTable.h b/alib2algo/src/tree/properties/BadCharacterShiftTable.h
index 7055871bcb5c327ecee3cbc035822bc04ec291d7..bc71975dc8edf9275820ddca22ac3df3d7c4388a 100644
--- a/alib2algo/src/tree/properties/BadCharacterShiftTable.h
+++ b/alib2algo/src/tree/properties/BadCharacterShiftTable.h
@@ -59,7 +59,7 @@ ext::map < common::ranked_symbol < SymbolType >, size_t > BadCharacterShiftTable
 		if ( ! pattern.getBars ( ).count ( symbol ) )
 			 // size of the smallest subtree containing given terminal depend
 			 // on the arity of the terminal
-			tmp += ( size_t ) symbol.getRank ( ) * 2;
+			tmp += symbol.getRank ( ) * 2;
 		else if ( tmp >= 2 )
 			 // bar symbols match the variable bar which is one symbol after
 			 // the last variable, conditioned because of the case S S| where
diff --git a/alib2algo/src/tree/properties/ExactSubtreeRepeats.h b/alib2algo/src/tree/properties/ExactSubtreeRepeats.h
index c1a8849cef42ec3383d43163b2a911dced2eeb99..2652499055e0cd13ea6b749672cbdd41c149559f 100644
--- a/alib2algo/src/tree/properties/ExactSubtreeRepeats.h
+++ b/alib2algo/src/tree/properties/ExactSubtreeRepeats.h
@@ -173,7 +173,7 @@ void ExactSubtreeRepeats::ExactSubtreeRepeatsAux::buildP ( const ext::vector < c
 	std::stack < unsigned > RP;
 
 	for ( unsigned i = 0; i < symbols.size ( ); ++i ) {
-		for ( unsigned j = 0; j < ( unsigned ) ( symbols[i].getRank ( ) ); ++j ) {
+		for ( unsigned j = 0; j < symbols[i].getRank ( ); ++j ) {
 			P[RP.top ( )] = i;
 			RP.pop ( );
 		}
@@ -199,13 +199,13 @@ void ExactSubtreeRepeats::ExactSubtreeRepeatsAux::buildH ( const ext::vector < c
 	std::stack < unsigned > RH;
 
 	for ( unsigned i = 0; i < symbols.size ( ); ++i ) {
-		if ( ( unsigned ) ( symbols[i].getRank ( ) ) == 0 ) {
+		if ( symbols[i].getRank ( ) == 0 ) {
 			RH.push ( 0 );
 			H[i] = 0;
 		} else {
 			unsigned r = 0;
 
-			for ( unsigned j = 0; j < ( unsigned ) ( symbols[i].getRank ( ) ); ++j ) {
+			for ( unsigned j = 0; j < symbols[i].getRank ( ); ++j ) {
 				unsigned p = RH.top ( );
 
 				if ( p > r )
@@ -237,10 +237,10 @@ void ExactSubtreeRepeats::ExactSubtreeRepeatsAux::buildFC ( const ext::vector <
 	std::stack < unsigned > RFC;
 
 	for ( unsigned i = 0; i < symbols.size ( ); ++i ) {
-		if ( ( unsigned ) ( symbols[i].getRank ( ) ) == 0 ) {
+		if ( symbols[i].getRank ( ) == 0 ) {
 			RFC.push ( i );
 		} else {
-			for ( unsigned j = 0; j < ( ( unsigned ) ( symbols[i].getRank ( ) ) ) - 1; ++j ) {
+			for ( unsigned j = 0; j < symbols[i].getRank ( ) - 1; ++j ) {
 				unsigned r = RFC.top ( );
 				RFC.pop ( );
 				FC[r] = false;
@@ -297,7 +297,7 @@ void ExactSubtreeRepeats::partition ( ext::deque < unsigned > S, unsigned l, int
 			if ( ! Bs [ v ] ) {
 				Bs[v] = true;
 				std::get < 1 > ( Es[v] ) = l + 1;
-				std::get < 2 > ( Es[v] ) = ac + ( unsigned ) symbols[r].getRank ( ) - 1;
+				std::get < 2 > ( Es[v] ) = ac + symbols[r].getRank ( ) - 1;
 				Q2.push ( v );
 			}
 		}
@@ -365,7 +365,7 @@ ext::vector < common::ranked_symbol < unsigned > > ExactSubtreeRepeats::repeatsP
 	std::queue < unsigned > Q5;
 
 	for ( unsigned i = 0; i < aux.treeSize; ++i ) {
-		if ( ( unsigned ) symbols[i].getRank ( ) == 0 ) {
+		if ( symbols[i].getRank ( ) == 0 ) {
 			unsigned k = aux.mu[i];
 
 			if ( ! Bs[k] ) {
diff --git a/alib2algo/src/tree/properties/ExactSubtreeRepeatsNaive.h b/alib2algo/src/tree/properties/ExactSubtreeRepeatsNaive.h
index 35f405a3f3ef7822570d491d2c94b337c40cbd58..294734f5d0ac2658807160010b8ceef0c7b4e154 100644
--- a/alib2algo/src/tree/properties/ExactSubtreeRepeatsNaive.h
+++ b/alib2algo/src/tree/properties/ExactSubtreeRepeatsNaive.h
@@ -80,7 +80,7 @@ common::ranked_symbol < unsigned > ExactSubtreeRepeatsNaive::repeatsPrefixRanked
 
 	index++;
 
-	for ( unsigned i = 0; i < ( unsigned ) symbols[begin].getRank ( ); ++i )
+	for ( unsigned i = 0; i < symbols[begin].getRank ( ); ++i )
 		childRepeatsKey.second.push_back ( repeatsPrefixRanked ( symbols, res, data, minId, index ) );
 
 	unsigned & uniqueRepeatId = data[childRepeatsKey];
@@ -111,7 +111,7 @@ common::ranked_symbol < unsigned > ExactSubtreeRepeatsNaive::repeatsPostfixRanke
 
 	index--;
 
-	for ( unsigned i = symbols.size ( ) - 1; i > symbols.size ( ) - 1 - ( unsigned ) symbols[begin].getRank ( ); --i )
+	for ( unsigned i = symbols.size ( ) - 1; i > symbols.size ( ) - 1 - symbols[begin].getRank ( ); --i )
 		childRepeatsKey.second.push_back ( repeatsPostfixRanked ( symbols, res, data, minId, index ) );
 
 	unsigned & uniqueRepeatId = data[childRepeatsKey];
@@ -145,7 +145,7 @@ common::ranked_symbol < unsigned > ExactSubtreeRepeatsNaive::repeatsPrefixRanked
 
 	index++;
 
-	for ( unsigned i = 0; i < ( unsigned ) symbols[begin].getRank ( ); ++i )
+	for ( unsigned i = 0; i < symbols[begin].getRank ( ); ++i )
 		childRepeatsKey.second.push_back ( repeatsPrefixRankedBar ( symbols, res, data, minId, barId, index ) );
 
 	unsigned & uniqueRepeatId = data[childRepeatsKey];
diff --git a/alib2algo/src/tree/properties/QuickSearchBadCharacterShiftTable.h b/alib2algo/src/tree/properties/QuickSearchBadCharacterShiftTable.h
index 7b7678b8768f6cc0f2b2600cd18d017e7050a2a0..2cef3bd648256acb65fcd75dbbcb459f6f1c2f72 100644
--- a/alib2algo/src/tree/properties/QuickSearchBadCharacterShiftTable.h
+++ b/alib2algo/src/tree/properties/QuickSearchBadCharacterShiftTable.h
@@ -58,7 +58,7 @@ ext::map < common::ranked_symbol < SymbolType >, size_t > QuickSearchBadCharacte
 		if ( ! pattern.getBars ( ).count ( symbol ) )
 			// size of the smallest subtree containing given terminal depend
 			// on the arity of the terminal
-			tmp += ( size_t ) symbol.getRank ( ) * 2;
+			tmp += symbol.getRank ( ) * 2;
 		else
 			// bar symbols match the variable bar which is one symbol after
 			// the last variable, conditioned because of the case S S| where
diff --git a/alib2algo/src/tree/properties/ReversedBadCharacterShiftTable.h b/alib2algo/src/tree/properties/ReversedBadCharacterShiftTable.h
index 10615f628722e36314e32b4d04b0f8201654f021..f2a91746d7f6585c57fcd0fab5da1d4d74e6eac0 100644
--- a/alib2algo/src/tree/properties/ReversedBadCharacterShiftTable.h
+++ b/alib2algo/src/tree/properties/ReversedBadCharacterShiftTable.h
@@ -66,7 +66,7 @@ ext::map < common::ranked_symbol < SymbolType >, size_t > ReversedBadCharacterSh
 		if ( pattern.getBars ( ).count ( symbol ) )
 			 // size of the smallest subtree containing given terminal depend
 			 // on the arity of the terminal
-			tmp += ( size_t ) symbol.getRank ( ) * 2;
+			tmp += symbol.getRank ( ) * 2;
 		else if ( tmp >= 2 )
 			 // bar symbols match the variable bar which is one symbol after
 			 // the last variable, conditioned because of the case S S| where
diff --git a/alib2algo/src/tree/properties/ReversedQuickSearchBadCharacterShiftTable.h b/alib2algo/src/tree/properties/ReversedQuickSearchBadCharacterShiftTable.h
index a54491c05e999ed894cbac625b1f125b5f8d36f1..0a8e53024b2e2093606a601732a7f835a5d55a09 100644
--- a/alib2algo/src/tree/properties/ReversedQuickSearchBadCharacterShiftTable.h
+++ b/alib2algo/src/tree/properties/ReversedQuickSearchBadCharacterShiftTable.h
@@ -61,7 +61,7 @@ ext::map < common::ranked_symbol < SymbolType >, size_t > ReversedQuickSearchBad
 		if ( pattern.getBars ( ).count ( symbol ) )
 			// size of the smallest subtree containing given terminal depend
 			// on the arity of the terminal
-			tmp += ( size_t ) symbol.getRank ( ) * 2;
+			tmp += symbol.getRank ( ) * 2;
 		else
 			tmp -= 1;
 
diff --git a/alib2algo/src/tree/properties/SubtreeJumpTable.h b/alib2algo/src/tree/properties/SubtreeJumpTable.h
index e38b62ec3fe8fdac260edcfb85a88a2921c58ed6..67c3bccff62efb1a26cfe5cc2190f27a8382bdcc 100644
--- a/alib2algo/src/tree/properties/SubtreeJumpTable.h
+++ b/alib2algo/src/tree/properties/SubtreeJumpTable.h
@@ -102,7 +102,7 @@ int SubtreeJumpTable::buildDataPointersBar ( ext::vector < int > & res, const T
 	int index = begin + 1;
 
 	if ( ! subject.getBars ( ).count ( subject.getContent ( )[begin] ) )
-		for ( unsigned i = 0; i < ( unsigned ) subject.getContent ( )[begin].getRank ( ); i++ )
+		for ( unsigned i = 0; i < subject.getContent ( )[begin].getRank ( ); i++ )
 			index = buildDataPointersBar ( res, subject, index );
 
 	index++;
@@ -128,7 +128,7 @@ template < class T >
 int SubtreeJumpTable::buildDataPointersPrefixRankedInternal ( ext::vector < int > & res, const T & subject, int begin ) {
 	int index = begin + 1;
 
-	for ( unsigned i = 0; i < ( unsigned ) subject.getContent ( )[begin].getRank ( ); i++ )
+	for ( unsigned i = 0; i < subject.getContent ( )[begin].getRank ( ); i++ )
 		index = buildDataPointersPrefixRankedInternal ( res, subject, index );
 
 	res[begin] = index;
diff --git a/alib2data/src/automaton/TA/DFTA.h b/alib2data/src/automaton/TA/DFTA.h
index f59d140e52ff58a588269f5ca6d683687556341d..8e40e59531ef771309a3712398f7f781a80632d8 100644
--- a/alib2data/src/automaton/TA/DFTA.h
+++ b/alib2data/src/automaton/TA/DFTA.h
@@ -406,7 +406,7 @@ DFTA < SymbolType, StateType >::DFTA() : DFTA ( ext::set < StateType > { }, ext:
 
 template<class SymbolType, class StateType >
 bool DFTA < SymbolType, StateType >::addTransition ( common::ranked_symbol < SymbolType > symbol, ext::vector<StateType> prevStates, StateType next) {
-	if ( prevStates.size() != ( size_t ) symbol.getRank() )
+	if ( prevStates.size ( ) != symbol.getRank ( ) )
 		throw AutomatonException("Number of states doesn't match rank of the symbol");
 
 	if (! getInputAlphabet().count(symbol))
diff --git a/alib2data/src/automaton/TA/ExtendedNFTA.h b/alib2data/src/automaton/TA/ExtendedNFTA.h
index 7875526c42d5763e1467a30aef84e4b8cb11856d..ecfcb55045ff7e01ae4f6040e63b1c428235f547 100644
--- a/alib2data/src/automaton/TA/ExtendedNFTA.h
+++ b/alib2data/src/automaton/TA/ExtendedNFTA.h
@@ -437,7 +437,7 @@ ExtendedNFTA < SymbolType, StateType >::ExtendedNFTA(const NFTA < SymbolType, St
 template < class SymbolType, class StateType >
 bool ExtendedNFTA < SymbolType, StateType >::addTransition ( rte::FormalRTEStructure < ext::variant < SymbolType, StateType > > rte, ext::vector < StateType > prevStates, StateType next ) {
 	/*
-	if (prevStates.size() != ( size_t ) symbol.getRank() )
+	if (prevStates.size() != symbol.getRank() )
 		throw AutomatonException("Number of states doesn't match rank of the symbol");
 
 	if (! getInputAlphabet().count(symbol))
@@ -459,7 +459,7 @@ bool ExtendedNFTA < SymbolType, StateType >::addTransition ( rte::FormalRTEStruc
 template < class SymbolType, class StateType >
 void ExtendedNFTA < SymbolType, StateType >::addTransitions ( rte::FormalRTEStructure < ext::variant < SymbolType, StateType > > rte, ext::vector < StateType > prevStates, ext::set < StateType > next ) {
 	/*
-	if (prevStates.size() != ( size_t ) symbol.getRank() )
+	if (prevStates.size() != symbol.getRank() )
 		throw AutomatonException("Number of states doesn't match rank of the symbol");
 
 	if (! getInputAlphabet().count(symbol))
diff --git a/alib2data/src/automaton/TA/NFTA.h b/alib2data/src/automaton/TA/NFTA.h
index ff9b2dae12f927d0a3e33d648407a09e37f4b0a0..8aa4b006dcf43acc44701ecebd5294f077d2eb7b 100644
--- a/alib2data/src/automaton/TA/NFTA.h
+++ b/alib2data/src/automaton/TA/NFTA.h
@@ -425,7 +425,7 @@ NFTA < SymbolType, StateType >::NFTA(const DFTA < SymbolType, StateType > & othe
 
 template < class SymbolType, class StateType >
 bool NFTA < SymbolType, StateType >::addTransition ( common::ranked_symbol < SymbolType > symbol, ext::vector<StateType> prevStates, StateType next) {
-	if (prevStates.size() != ( size_t ) symbol.getRank() )
+	if ( prevStates.size ( ) != symbol.getRank ( ) )
 		throw AutomatonException("Number of states doesn't match rank of the symbol");
 
 	if (! getInputAlphabet().count(symbol))
diff --git a/alib2data/src/automaton/TA/UnorderedDFTA.h b/alib2data/src/automaton/TA/UnorderedDFTA.h
index ee71b4d5a613f8f1bd2b0aa60dc56345b5d9a759..99cb7d170aaff6c36ab89d082be331b2ae6d980a 100644
--- a/alib2data/src/automaton/TA/UnorderedDFTA.h
+++ b/alib2data/src/automaton/TA/UnorderedDFTA.h
@@ -406,7 +406,7 @@ UnorderedDFTA < SymbolType, StateType >::UnorderedDFTA() : UnorderedDFTA ( ext::
 
 template<class SymbolType, class StateType >
 bool UnorderedDFTA < SymbolType, StateType >::addTransition ( common::ranked_symbol < SymbolType > symbol, ext::multiset<StateType> prevStates, StateType next) {
-	if ( prevStates.size() != ( size_t ) symbol.getRank() )
+	if ( prevStates.size ( ) != symbol.getRank ( ) )
 		throw AutomatonException("Number of states doesn't match rank of the symbol");
 
 	if (! getInputAlphabet().count(symbol))
diff --git a/alib2data/src/automaton/TA/UnorderedNFTA.h b/alib2data/src/automaton/TA/UnorderedNFTA.h
index 866a538f172488b3f7f7e417b0b5b0f730ba0ef9..f52abd65d3953ceb322435d904bd657dc1b396d8 100644
--- a/alib2data/src/automaton/TA/UnorderedNFTA.h
+++ b/alib2data/src/automaton/TA/UnorderedNFTA.h
@@ -425,7 +425,7 @@ UnorderedNFTA < SymbolType, StateType >::UnorderedNFTA(const UnorderedDFTA < Sym
 
 template < class SymbolType, class StateType >
 bool UnorderedNFTA < SymbolType, StateType >::addTransition ( common::ranked_symbol < SymbolType > symbol, ext::multiset<StateType> prevStates, StateType next) {
-	if (prevStates.size() != ( size_t ) symbol.getRank() )
+	if ( prevStates.size ( ) != symbol.getRank ( ) )
 		throw AutomatonException("Number of states doesn't match rank of the symbol");
 
 	if (! getInputAlphabet().count(symbol))
diff --git a/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h b/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h
index 57559b7580ebfc715dc86f5e841fc940be6b9897..9860211562257da9a0b3ecfe9af2fb5bf716f022 100644
--- a/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h
+++ b/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h
@@ -189,7 +189,7 @@ public:
 
 template < class SymbolType >
 FormalRTESymbolAlphabet < SymbolType >::FormalRTESymbolAlphabet ( common::ranked_symbol < SymbolType > symbol, ext::ptr_vector < FormalRTEElement < SymbolType > > children ) : FormalRTESymbol < SymbolType > ( symbol ), ext::VararyNode < FormalRTEElement < SymbolType > > ( std::move ( children ) ) {
-	if ( this->getChildren ( ).size ( ) != ( size_t ) this->getSymbol ( ).getRank ( ) )
+	if ( this->getChildren ( ).size ( ) != this->getSymbol ( ).getRank ( ) )
 		throw exception::CommonException ( "Symbol's rank and number of children differ. Rank is " + ext::to_string ( this->getSymbol ( ).getRank ( ) ) + ", number of children is " + ext::to_string ( this->getChildren ( ).size ( ) ) + "." );
 
 }
diff --git a/alib2data/src/tree/common/TreeAuxiliary.h b/alib2data/src/tree/common/TreeAuxiliary.h
index ba781ef7059d06512b380278cfd2bbd854afa0ee..f09ec859ce5a7b0491c30f9b051759cf20e7d422 100644
--- a/alib2data/src/tree/common/TreeAuxiliary.h
+++ b/alib2data/src/tree/common/TreeAuxiliary.h
@@ -102,12 +102,12 @@ ext::tree < common::ranked_symbol < SymbolType > > TreeAuxiliary::postfixToTree
 	std::stack < ext::tree < common::ranked_symbol < SymbolType > > > tree_stack;
 
 	for ( const common::ranked_symbol < SymbolType > & x : from ) {
-		if ( ( unsigned ) x.getRank ( ) == 0 ) {
+		if ( x.getRank ( ) == 0 ) {
 			tree_stack.push ( ext::tree < common::ranked_symbol < SymbolType > > ( x, ext::vector < ext::tree < common::ranked_symbol < SymbolType > > > ( ) ) );
 		} else {
 			ext::vector < ext::tree < common::ranked_symbol < SymbolType > > > children;
 
-			for ( unsigned i = 0; i < ( unsigned ) x.getRank ( ); ++i ) {
+			for ( unsigned i = 0; i < x.getRank ( ); ++i ) {
 				children.push_back ( tree_stack.top ( ) );
 				tree_stack.pop ( );
 			}
@@ -127,7 +127,7 @@ ext::tree < common::ranked_symbol < SymbolType > > TreeAuxiliary::prefixToTreeIn
 
 	ext::vector < ext::tree < common::ranked_symbol < SymbolType > > > children;
 
-	for ( unsigned i = 0; i < ( unsigned ) x.getRank ( ); ++i ) {
+	for ( unsigned i = 0; i < x.getRank ( ); ++i ) {
 		children.push_back ( prefixToTreeInt ( from, index ) );
 	}
 
@@ -166,7 +166,7 @@ ext::vector < common::ranked_symbol < SymbolType > > TreeAuxiliary::postfixToPre
 template < class SymbolType >
 void TreeAuxiliary::postfixToPrefixInt ( const ext::vector < common::ranked_symbol < SymbolType > > & src, ext::vector < common::ranked_symbol < SymbolType > > & dest, unsigned & readIndex ) {
 	unsigned root = readIndex --;
-	unsigned rank = ( unsigned ) src [ root ].getRank ( );
+	unsigned rank = src [ root ].getRank ( );
 
 	for ( unsigned i = 0; i < rank; ++ i )
 		postfixToPrefixInt ( src, dest, readIndex );
diff --git a/alib2data/src/tree/ranked/PostfixRankedTree.h b/alib2data/src/tree/ranked/PostfixRankedTree.h
index 34acf2519f756e0d651b330427f4e7a234ac5016..8c7a09093481e36b6cefe48197127434fcb15104 100644
--- a/alib2data/src/tree/ranked/PostfixRankedTree.h
+++ b/alib2data/src/tree/ranked/PostfixRankedTree.h
@@ -252,7 +252,7 @@ void PostfixRankedTree < SymbolType >::arityChecksum ( const ext::vector < commo
 	int arityChecksumAcc = 1;
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : data ) {
-		arityChecksumAcc += ( unsigned ) symbol.getRank ( );
+		arityChecksumAcc += symbol.getRank ( );
 		arityChecksumAcc -= 1;
 	}
 
diff --git a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h
index 0a2b1972a9631f9814b619ab795e368cfd74bfea..659ef674ad6dee270905449f35f262f43f5ebb2d 100644
--- a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h
+++ b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h
@@ -463,11 +463,11 @@ void PrefixRankedBarNonlinearPattern < SymbolType >::arityChecksum ( const ext::
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : data ) {
 		if ( getBars ( ).count ( symbol ) || ( symbol == getVariablesBar ( ) ) ) {
-			arityChecksumBars += ( unsigned ) symbol.getRank ( );
+			arityChecksumBars += symbol.getRank ( );
 			arityChecksumBars -= 1;
 			arityChecksumTypes -= 1;
 		} else {
-			arityChecksumTerminals += ( unsigned ) symbol.getRank ( );
+			arityChecksumTerminals += symbol.getRank ( );
 			arityChecksumTerminals -= 1;
 			arityChecksumTypes += 1;
 		}
@@ -635,7 +635,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::PrefixRankedBarNonlinearPattern < SymbolType > & pattern, const common::ranked_symbol < SymbolType > & symbol) {
-		if ( ( unsigned ) symbol.getRank ( ) != 0 )
+		if ( symbol.getRank ( ) != 0 )
 			throw tree::TreeException ( "Nonlinear variable has nonzero arity" );
 
 		if ( pattern.template accessComponent < tree::SubtreeWildcard > ( ).get ( ) == symbol )
@@ -672,7 +672,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::PrefixRankedBarNonlinearPattern < SymbolType > & pattern, const common::ranked_symbol < SymbolType > & symbol) {
-		if ( ( unsigned ) symbol.getRank ( ) != 0 )
+		if ( symbol.getRank ( ) != 0 )
 			throw tree::TreeException ( "SubtreeWildcard symbol has nonzero arity" );
 
 		if ( pattern.template accessComponent < tree::NonlinearAlphabet > ( ).get ( ).count ( symbol ) )
@@ -709,7 +709,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::PrefixRankedBarNonlinearPattern < SymbolType > &, const common::ranked_symbol < SymbolType > & symbol) {
-		if ( ( unsigned ) symbol.getRank ( ) != 0 )
+		if ( symbol.getRank ( ) != 0 )
 			throw tree::TreeException ( "VariablesBarSymbol has nonzero arity" );
 	}
 };
diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h
index 562b8fbe12a32aa39c5df5fb67f6b78e0ad824b4..f6bfa28200da3ab9f010de8acef4f1d6aaeddcb1 100644
--- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h
+++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h
@@ -364,11 +364,11 @@ void PrefixRankedBarPattern < SymbolType >::arityChecksum ( const ext::vector <
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : data ) {
 		if ( getBars ( ).count ( symbol ) || symbol == getVariablesBar ( ) ) {
-			arityChecksumBars += ( unsigned ) symbol.getRank ( );
+			arityChecksumBars += symbol.getRank ( );
 			arityChecksumBars -= 1;
 			arityChecksumTypes -= 1;
 		} else {
-			arityChecksumTerminals += ( unsigned ) symbol.getRank ( );
+			arityChecksumTerminals += symbol.getRank ( );
 			arityChecksumTerminals -= 1;
 			arityChecksumTypes += 1;
 		}
@@ -520,7 +520,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::PrefixRankedBarPattern < SymbolType > &, const common::ranked_symbol < SymbolType > & symbol) {
-		if( ( unsigned ) symbol.getRank() != 0 )
+		if( symbol.getRank() != 0 )
 			throw tree::TreeException ( "SubtreeWildcard symbol has nonzero arity" );
 	}
 };
@@ -554,7 +554,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::PrefixRankedBarPattern < SymbolType > &, const common::ranked_symbol < SymbolType > & symbol) {
-		if( ( unsigned ) symbol.getRank() != 0 )
+		if( symbol.getRank ( ) != 0 )
 			throw tree::TreeException ( "VariablesBarSymbol has nonzero arity" );
 	}
 };
diff --git a/alib2data/src/tree/ranked/PrefixRankedBarTree.h b/alib2data/src/tree/ranked/PrefixRankedBarTree.h
index 3b6fa47f154e6e5d686ef527722fde65dcec783e..741f0cad6515be162021e27c47065f98dfbd8a55 100644
--- a/alib2data/src/tree/ranked/PrefixRankedBarTree.h
+++ b/alib2data/src/tree/ranked/PrefixRankedBarTree.h
@@ -303,11 +303,11 @@ void PrefixRankedBarTree < SymbolType >::arityChecksum ( const ext::vector < com
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : data ) {
 		if ( getBars ( ).count ( symbol ) ) {
-			arityChecksumBars += ( unsigned ) symbol.getRank ( );
+			arityChecksumBars += symbol.getRank ( );
 			arityChecksumBars -= 1;
 			arityChecksumTypes -= 1;
 		} else {
-			arityChecksumTerminals += ( unsigned ) symbol.getRank ( );
+			arityChecksumTerminals += symbol.getRank ( );
 			arityChecksumTerminals -= 1;
 			arityChecksumTypes += 1;
 		}
diff --git a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h
index c0a726bdf4a693dd5eca7bbead03e28112220e93..dab11f3b900bac5f8017318f975953159b69679c 100644
--- a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h
+++ b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h
@@ -360,7 +360,7 @@ void PrefixRankedNonlinearPattern < SymbolType >::arityChecksum ( const ext::vec
 	int arityChecksumAcc = 1;
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : data ) {
-		arityChecksumAcc += ( unsigned ) symbol.getRank ( );
+		arityChecksumAcc += symbol.getRank ( );
 		arityChecksumAcc -= 1;
 	}
 
@@ -473,7 +473,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::PrefixRankedNonlinearPattern < SymbolType > & pattern, const common::ranked_symbol < SymbolType > & symbol) {
-		if ( ( unsigned ) symbol.getRank ( ) != 0 )
+		if ( symbol.getRank ( ) != 0 )
 			throw tree::TreeException ( "Nonlinear variable has nonzero arity" );
 
 		if ( pattern.template accessComponent < tree::SubtreeWildcard > ( ).get ( ) == symbol )
@@ -510,7 +510,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::PrefixRankedNonlinearPattern < SymbolType > & pattern, const common::ranked_symbol < SymbolType > & symbol) {
-		if ( ( unsigned ) symbol.getRank ( ) != 0 )
+		if ( symbol.getRank ( ) != 0 )
 			throw tree::TreeException ( "SubtreeWildcard symbol has nonzero arity" );
 
 		if ( pattern.template accessComponent < tree::NonlinearAlphabet > ( ).get ( ).count ( symbol ) )
diff --git a/alib2data/src/tree/ranked/PrefixRankedPattern.h b/alib2data/src/tree/ranked/PrefixRankedPattern.h
index 07a0af450f935782c27f7de360883401c2f182b0..844f4e5bc48d39a6c1408b922a736d116a37a6e7 100644
--- a/alib2data/src/tree/ranked/PrefixRankedPattern.h
+++ b/alib2data/src/tree/ranked/PrefixRankedPattern.h
@@ -289,7 +289,7 @@ void PrefixRankedPattern < SymbolType >::arityChecksum ( const ext::vector < com
 	int arityChecksumAcc = 1;
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : data ) {
-		arityChecksumAcc += ( unsigned ) symbol.getRank ( );
+		arityChecksumAcc += symbol.getRank ( );
 		arityChecksumAcc -= 1;
 	}
 
@@ -390,7 +390,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::PrefixRankedPattern < SymbolType > &, const common::ranked_symbol < SymbolType > & symbol) {
-		if( ( unsigned ) symbol.getRank() != 0 )
+		if( symbol.getRank() != 0 )
 			throw tree::TreeException ( "SubtreeWildcard symbol has nonzero arity" );
 	}
 };
diff --git a/alib2data/src/tree/ranked/PrefixRankedTree.h b/alib2data/src/tree/ranked/PrefixRankedTree.h
index 3abd7e56976ca8e96d8b10ece0622d5672dd0dc3..38a4d2c3f2b34b247863838da3ac8a0b008f1171 100644
--- a/alib2data/src/tree/ranked/PrefixRankedTree.h
+++ b/alib2data/src/tree/ranked/PrefixRankedTree.h
@@ -262,7 +262,7 @@ void PrefixRankedTree < SymbolType >::arityChecksum ( const ext::vector < common
 	int arityChecksumAcc = 1;
 
 	for ( const common::ranked_symbol < SymbolType > & symbol : data ) {
-		arityChecksumAcc += ( unsigned ) symbol.getRank ( );
+		arityChecksumAcc += symbol.getRank ( );
 		arityChecksumAcc -= 1;
 	}
 
diff --git a/alib2data/src/tree/ranked/RankedNonlinearPattern.h b/alib2data/src/tree/ranked/RankedNonlinearPattern.h
index 6d19f8ba54b699bd39f3fc2abfe0ea3c3ff77ef7..d3d3157770c1f05e0e9476561f2f11e03cb84a9a 100644
--- a/alib2data/src/tree/ranked/RankedNonlinearPattern.h
+++ b/alib2data/src/tree/ranked/RankedNonlinearPattern.h
@@ -306,7 +306,7 @@ void RankedNonlinearPattern < SymbolType >::checkAlphabet ( const ext::tree < co
 
 template < class SymbolType >
 void RankedNonlinearPattern < SymbolType >::checkArities ( const ext::tree < common::ranked_symbol < SymbolType > > & data ) const {
-	if ( ( size_t ) data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
+	if ( data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
 		throw exception::CommonException ( "Invalid rank." );
 
 	for ( const ext::tree < common::ranked_symbol < SymbolType > > & child : data )
@@ -421,7 +421,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::RankedNonlinearPattern < SymbolType > & pattern, const common::ranked_symbol < SymbolType > & symbol) {
-		if( ( unsigned ) symbol.getRank() != 0 )
+		if( symbol.getRank() != 0 )
 			throw tree::TreeException ( "Nonlinear variable symbol has nonzero arity" );
 
 		if ( pattern.template accessComponent < tree::SubtreeWildcard > ( ).get ( ) == symbol )
@@ -458,7 +458,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::RankedNonlinearPattern < SymbolType > & pattern, const common::ranked_symbol < SymbolType > & symbol) {
-		if( ( unsigned ) symbol.getRank() != 0 )
+		if( symbol.getRank() != 0 )
 			throw tree::TreeException ( "SubtreeWildcard symbol has nonzero arity" );
 
 		if ( pattern.template accessComponent < tree::NonlinearAlphabet > ( ).get ( ).count ( symbol ) )
diff --git a/alib2data/src/tree/ranked/RankedPattern.h b/alib2data/src/tree/ranked/RankedPattern.h
index 7b94d3771563a3df800093b03e94736bf89d912d..c2968e124129baa771acded8847b90e44a93fef9 100644
--- a/alib2data/src/tree/ranked/RankedPattern.h
+++ b/alib2data/src/tree/ranked/RankedPattern.h
@@ -271,7 +271,7 @@ void RankedPattern < SymbolType >::checkAlphabet ( const ext::tree < common::ran
 
 template < class SymbolType >
 void RankedPattern < SymbolType >::checkArities ( const ext::tree < common::ranked_symbol < SymbolType > > & data ) const {
-	if ( ( size_t ) data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
+	if ( data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
 		throw exception::CommonException ( "Invalid rank." );
 
 	for ( const ext::tree < common::ranked_symbol < SymbolType > > & child : data )
@@ -374,7 +374,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::RankedPattern < SymbolType > &, const common::ranked_symbol < SymbolType > & symbol) {
-		if( ( unsigned ) symbol.getRank() != 0 )
+		if( symbol.getRank() != 0 )
 			throw tree::TreeException ( "SubtreeWildcard symbol has nonzero arity" );
 	}
 };
diff --git a/alib2data/src/tree/ranked/RankedTree.h b/alib2data/src/tree/ranked/RankedTree.h
index f54424bd683f8d9376d1323f48c992955fadd040..4f608f2a7f0de0fd6d3b1c4b0dc9f638fe6b1a4a 100644
--- a/alib2data/src/tree/ranked/RankedTree.h
+++ b/alib2data/src/tree/ranked/RankedTree.h
@@ -272,7 +272,7 @@ void RankedTree < SymbolType >::checkAlphabet ( const ext::tree < common::ranked
 
 template < class SymbolType >
 void RankedTree < SymbolType >::checkArities ( const ext::tree < common::ranked_symbol < SymbolType > > & data ) const {
-	if ( ( size_t ) data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
+	if ( data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
 		throw exception::CommonException ( "Invalid rank." );
 
 	for ( const ext::tree < common::ranked_symbol < SymbolType > > & child : data )
diff --git a/alib2data/src/tree/ranked/UnorderedRankedPattern.h b/alib2data/src/tree/ranked/UnorderedRankedPattern.h
index fb81112ef1befced61f61984abb1d07ed2a4afb2..e42e1825a1f7dfc02af4a977967521e0a8262dc3 100644
--- a/alib2data/src/tree/ranked/UnorderedRankedPattern.h
+++ b/alib2data/src/tree/ranked/UnorderedRankedPattern.h
@@ -271,7 +271,7 @@ void UnorderedRankedPattern < SymbolType >::checkAlphabet ( const ext::tree < co
 
 template < class SymbolType >
 void UnorderedRankedPattern < SymbolType >::checkArities ( const ext::tree < common::ranked_symbol < SymbolType > > & data ) const {
-	if ( ( size_t ) data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
+	if ( data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
 		throw exception::CommonException ( "Invalid rank." );
 
 	for ( const ext::tree < common::ranked_symbol < SymbolType > > & child : data )
@@ -374,7 +374,7 @@ public:
 	 * \throws TreeException if the symbol does not have zero arity
 	 */
 	static void valid ( const tree::UnorderedRankedPattern < SymbolType > &, const common::ranked_symbol < SymbolType > & symbol) {
-		if( ( unsigned ) symbol.getRank() != 0 )
+		if( symbol.getRank() != 0 )
 			throw tree::TreeException ( "SubtreeWildcard symbol has nonzero arity" );
 	}
 };
diff --git a/alib2data/src/tree/ranked/UnorderedRankedTree.h b/alib2data/src/tree/ranked/UnorderedRankedTree.h
index de760905d2ece0c7c68ddfd900e0d7e50792e01c..71fc316ab576ab5a4b737971bada2406b0e04abd 100644
--- a/alib2data/src/tree/ranked/UnorderedRankedTree.h
+++ b/alib2data/src/tree/ranked/UnorderedRankedTree.h
@@ -248,7 +248,7 @@ void UnorderedRankedTree < SymbolType >::checkAlphabet ( const ext::tree < commo
 
 template < class SymbolType >
 void UnorderedRankedTree < SymbolType >::checkArities ( const ext::tree < common::ranked_symbol < SymbolType > > & data ) const {
-	if ( ( size_t ) data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
+	if ( data.getData ( ).getRank ( ) != data.getChildren ( ).size ( ) )
 		throw exception::CommonException ( "Invalid rank." );
 
 	for ( const ext::tree < common::ranked_symbol < SymbolType > > & child : data )