diff --git a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.cpp b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.cpp
index c1478cd47d4939d3ee8fd643ff54265c7f48f208..63510eb3100036179d6a21791c7f78bf32e535de 100644
--- a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.cpp
+++ b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.cpp
@@ -34,11 +34,10 @@ PrefixRankedNonlinearPattern::PrefixRankedNonlinearPattern ( alphabet::RankedSym
 	setContent ( std::move ( data ) );
 }
 
-PrefixRankedNonlinearPattern::PrefixRankedNonlinearPattern ( alphabet::RankedSymbol subtreeWildcard, std::set < alphabet::RankedSymbol > nonlinearVariables, std::vector < alphabet::RankedSymbol > data ) : PrefixRankedNonlinearPattern ( std::move ( subtreeWildcard ), std::move ( nonlinearVariables ), std::set < alphabet::RankedSymbol > ( data.begin ( ), data.end ( ) ) + std::set < alphabet::RankedSymbol > { subtreeWildcard } + nonlinearVariables, std::move ( data ) ) {
+PrefixRankedNonlinearPattern::PrefixRankedNonlinearPattern ( alphabet::RankedSymbol subtreeWildcard, std::set < alphabet::RankedSymbol > nonlinearVariables, std::vector < alphabet::RankedSymbol > data ) : PrefixRankedNonlinearPattern ( subtreeWildcard, nonlinearVariables, std::set < alphabet::RankedSymbol > ( data.begin ( ), data.end ( ) ) + std::set < alphabet::RankedSymbol > { subtreeWildcard } + nonlinearVariables, data ) {
 }
 
-PrefixRankedNonlinearPattern::PrefixRankedNonlinearPattern ( alphabet::RankedSymbol subtreeWildcard, std::vector < alphabet::RankedSymbol > data ) : PrefixRankedNonlinearPattern ( std::move ( subtreeWildcard ), {
-	}, std::set < alphabet::RankedSymbol > ( data.begin ( ), data.end ( ) ) + std::set < alphabet::RankedSymbol > { subtreeWildcard }, std::move ( data ) ) {
+PrefixRankedNonlinearPattern::PrefixRankedNonlinearPattern ( alphabet::RankedSymbol subtreeWildcard, std::vector < alphabet::RankedSymbol > data ) : PrefixRankedNonlinearPattern ( subtreeWildcard, {}, std::set < alphabet::RankedSymbol > ( data.begin ( ), data.end ( ) ) + std::set < alphabet::RankedSymbol > { subtreeWildcard }, data ) {
 }
 
 PrefixRankedNonlinearPattern::PrefixRankedNonlinearPattern ( const PrefixRankedTree & tree ) : PrefixRankedNonlinearPattern ( alphabet::SubtreeWildcardSymbol::RANKED_SUBTREE_WILDCARD_SYMBOL, {
diff --git a/alib2data/src/tree/ranked/PrefixRankedPattern.cpp b/alib2data/src/tree/ranked/PrefixRankedPattern.cpp
index 043de48677aec2347cc9d307175595856eb38ec4..9a8cbb330f35a35035976e2d720b09af4ed22c6b 100644
--- a/alib2data/src/tree/ranked/PrefixRankedPattern.cpp
+++ b/alib2data/src/tree/ranked/PrefixRankedPattern.cpp
@@ -31,7 +31,7 @@ PrefixRankedPattern::PrefixRankedPattern ( alphabet::RankedSymbol subtreeWildcar
 	setContent ( std::move ( data ) );
 }
 
-PrefixRankedPattern::PrefixRankedPattern ( alphabet::RankedSymbol subtreeWildcard, std::vector < alphabet::RankedSymbol > data ) : PrefixRankedPattern ( std::move ( subtreeWildcard ), std::set < alphabet::RankedSymbol > ( data.begin ( ), data.end ( ) ) + std::set < alphabet::RankedSymbol > { subtreeWildcard }, std::move ( data ) ) {
+PrefixRankedPattern::PrefixRankedPattern ( alphabet::RankedSymbol subtreeWildcard, std::vector < alphabet::RankedSymbol > data ) : PrefixRankedPattern ( subtreeWildcard, std::set < alphabet::RankedSymbol > ( data.begin ( ), data.end ( ) ) + std::set < alphabet::RankedSymbol > { subtreeWildcard }, data ) {
 }
 
 PrefixRankedPattern::PrefixRankedPattern ( const PrefixRankedTree & tree ) : PrefixRankedPattern ( alphabet::SubtreeWildcardSymbol::RANKED_SUBTREE_WILDCARD_SYMBOL, tree.getAlphabet ( ) + std::set < alphabet::RankedSymbol > { alphabet::SubtreeWildcardSymbol::RANKED_SUBTREE_WILDCARD_SYMBOL }, tree.getContent ( ) ) {
diff --git a/alib2data/src/tree/ranked/PrefixRankedTree.cpp b/alib2data/src/tree/ranked/PrefixRankedTree.cpp
index 0867389e31daa94b6743d4cef92e15a43929f715..6b5c225b3f883d92f8f998a59e1c52819878c6ab 100644
--- a/alib2data/src/tree/ranked/PrefixRankedTree.cpp
+++ b/alib2data/src/tree/ranked/PrefixRankedTree.cpp
@@ -28,7 +28,7 @@ PrefixRankedTree::PrefixRankedTree ( std::set < alphabet::RankedSymbol > alphabe
 	setContent ( std::move ( data ) );
 }
 
-PrefixRankedTree::PrefixRankedTree ( std::vector < alphabet::RankedSymbol > data ) : PrefixRankedTree ( std::set < alphabet::RankedSymbol > ( data.begin ( ), data.end ( ) ), std::move ( data ) ) {
+PrefixRankedTree::PrefixRankedTree ( std::vector < alphabet::RankedSymbol > data ) : PrefixRankedTree ( std::set < alphabet::RankedSymbol > ( data.begin ( ), data.end ( ) ), data ) {
 }
 
 PrefixRankedTree::PrefixRankedTree ( const RankedTree & tree ) : PrefixRankedTree ( tree.getAlphabet ( ), toPrefixRanked ( tree.getRoot ( ) ) ) {
diff --git a/alib2data/src/tree/unranked/PrefixBarTree.cpp b/alib2data/src/tree/unranked/PrefixBarTree.cpp
index c2bc2d8185d68df4b34b446eb98cad2aab168098..8d9839e8310e086820a19c664112194b17a02cfb 100644
--- a/alib2data/src/tree/unranked/PrefixBarTree.cpp
+++ b/alib2data/src/tree/unranked/PrefixBarTree.cpp
@@ -31,7 +31,7 @@ PrefixBarTree::PrefixBarTree ( alphabet::Symbol bar, std::set < alphabet::Symbol
 	setContent ( std::move ( data ) );
 }
 
-PrefixBarTree::PrefixBarTree ( alphabet::Symbol bar, std::vector < alphabet::Symbol > data ) : PrefixBarTree ( std::move ( bar ), std::set < alphabet::Symbol > ( data.begin ( ), data.end ( ) ) + std::set < alphabet::Symbol > { bar }, std::move ( data ) ) {
+PrefixBarTree::PrefixBarTree ( alphabet::Symbol bar, std::vector < alphabet::Symbol > data ) : PrefixBarTree ( bar, std::set < alphabet::Symbol > ( data.begin ( ), data.end ( ) ) + std::set < alphabet::Symbol > { bar }, data ) {
 }
 
 PrefixBarTree::PrefixBarTree ( alphabet::Symbol bar, const UnrankedTree & tree ) : PrefixBarTree ( bar, tree.getAlphabet ( ) + std::set < alphabet::Symbol > { bar }, toPrefixBar ( tree.getRoot ( ), bar ) ) {