diff --git a/CMakeLists.txt b/CMakeLists.txt
index ec1f3906405d77b77330dc9e7686b796b062550b..02dd9025879006b9c9a262e4c004e008e99b8ed7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.8.0)
 
 set(wccl_ver_major "0")
 set(wccl_ver_minor "1")
-set(wccl_ver_patch "4")
+set(wccl_ver_patch "5")
 
 set(LIBWCCL_VERSION "${wccl_ver_major}.${wccl_ver_minor}.${wccl_ver_patch}")
 
diff --git a/libwccl/variables.h b/libwccl/variables.h
index ef7ede505674226c8c9c02d544019e2e03deb0de..3dd36c11e1ea6a456d092f04d978e23482c444fb 100644
--- a/libwccl/variables.h
+++ b/libwccl/variables.h
@@ -208,7 +208,7 @@ public:
 	 * shared pointers themselves cannot, use put etc. for that.
 	 */
 	template<typename T>
-	const typename detail::Vmap<T>::map_t get_all() const {
+	const typename detail::Vmap<T>::map_t& get_all() const {
 		BOOST_MPL_ASSERT(( boost::mpl::count<types, T> ));
 		return detail::Vmap<T>::map_;
 	}
diff --git a/libwccl/wcclfileopsections.h b/libwccl/wcclfileopsections.h
index bfc90b3b0627bd06d255f9a40a83a8da9aeefd1f..9c848d2f7b64c2f6ee56ea300e9c57861af9550a 100644
--- a/libwccl/wcclfileopsections.h
+++ b/libwccl/wcclfileopsections.h
@@ -116,7 +116,7 @@ size_t WcclFileOpSections<T>::size() const
 template<class T> inline
 std::vector<std::string> WcclFileOpSections<T>::section_names() const
 {
-	std::vector<std::string> v(size());
+	std::vector<std::string> v;
 	foreach(const ptr_t& section, sections_) {
 		v.push_back(section->name());
 	}
diff --git a/swig/bool.i b/swig/bool.i
index 7f4ff3a8e88ef94888f4ba13f692fb67bbbf6fe2..9091fcda952d3434180596a7a9531cc9b0d273ea 100644
--- a/swig/bool.i
+++ b/swig/bool.i
@@ -12,6 +12,9 @@
 
 %feature("notabstract") Wccl::Bool;
 
+%template(BoolPtr) boost::shared_ptr<Wccl::Bool>;
+%template(ConstBoolPtr) boost::shared_ptr<Wccl::Bool const>;
+
 namespace Wccl {
   class Bool : public Value {
   public:
diff --git a/swig/functionaloperator.i b/swig/functionaloperator.i
index 9ae78cf821ed1e11e8cc5bf7a8f9dbc03684d340..ae3565ffdc205001aff36d9cb90f0901a3303738 100644
--- a/swig/functionaloperator.i
+++ b/swig/functionaloperator.i
@@ -14,8 +14,8 @@
 %include "std_string.i"
 %include <libcorpus2/boost_shared_ptr.i>
 
-// %template(ValuePtr) boost::shared_ptr<Wccl::Value>;
 %template(FunctionalOperatorPtr) boost::shared_ptr<Wccl::FunctionalOperator>;
+%template(ConstFunctionalOperatorPtr) boost::shared_ptr<const Wccl::FunctionalOperator>;
 
 namespace Wccl {
   class FunctionalOperator : public ParsedExpression {
diff --git a/swig/functionalopsequence.i b/swig/functionalopsequence.i
index a476ff86bd8063947e58a04ca366179e4c9b7c13..1f367051c5308f4d5a663a38bfd4fd868bef6f6a 100644
--- a/swig/functionalopsequence.i
+++ b/swig/functionalopsequence.i
@@ -18,12 +18,10 @@
 
 %nodefaultctor Wccl::FunctionalOpSequence;
 
-%template(fun_op_ptr_t) boost::shared_ptr<FunctionalOperator>;
-%template(fun_op_ptr_c_t) boost::shared_ptr<const FunctionalOperator>;
-%template(name_op_pair_t) std::pair<std::string, boost::shared_ptr<FunctionalOperator> > ;
-%template(name_op_pair_c_t) std::pair<std::string, boost::shared_ptr<const FunctionalOperator> >;
-%template(name_op_v_t) std::vector<std::pair<std::string, boost::shared_ptr<FunctionalOperator> > >;
-%template(name_op_v_c_t) std::vector<std::pair<std::string, boost::shared_ptr<const FunctionalOperator> > >;
+%template(name_op_pair_t) std::pair<std::string, boost::shared_ptr<Wccl::FunctionalOperator> > ;
+%template(name_op_pair_c_t) std::pair<std::string, boost::shared_ptr<const Wccl::FunctionalOperator> >;
+%template(name_op_v_t) std::vector<std::pair<std::string, boost::shared_ptr<Wccl::FunctionalOperator> > >;
+%template(name_op_v_c_t) std::vector<std::pair<std::string, boost::shared_ptr<const Wccl::FunctionalOperator> > >;
 
 namespace Wccl {
   class FunctionalOpSequence : public Expression {
@@ -48,22 +46,18 @@ namespace Wccl {
     /* --------------------------------------------------------------------- */
 
     virtual fun_op_ptr_t get_untyped_ptr(size_t idx) = 0;
-    virtual fun_op_ptr_c_t get_untyped_ptr(size_t idx) const = 0;
     /* --------------------------------------------------------------------- */
 
     name_op_v_t& add_name_op_pairs_untyped(name_op_v_t& pairs);
-    name_op_v_c_t& add_name_op_pairs_untyped(name_op_v_c_t& pairs) const;
     /* --------------------------------------------------------------------- */
 
     name_op_v_t gen_name_op_pairs_untyped();
-    name_op_v_c_t gen_name_op_pairs_untyped() const;
     /* --------------------------------------------------------------------- */
 
     std::string gen_op_name(size_t idx) const;
     /* --------------------------------------------------------------------- */
 
     name_op_pair_t gen_name_op_pair_untyped(size_t idx);
-    name_op_pair_c_t gen_name_op_pair_untyped(size_t idx) const;
     /* --------------------------------------------------------------------- */
   
     shared_ptr<FunctionalOpSequence> clone() const;
@@ -99,23 +93,18 @@ namespace Wccl {
     /* --------------------------------------------------------------------- */
 
     fun_op_ptr_t get_untyped_ptr(size_t idx);
-    fun_op_ptr_c_t get_untyped_ptr(size_t idx) const;
     /* --------------------------------------------------------------------- */
 
     fun_op_ptr_t get_ptr(size_t idx);
-    fun_op_ptr_c_t get_ptr(size_t idx) const;
     /* --------------------------------------------------------------------- */
 
     name_op_v_t& add_name_op_pairs(name_op_v_t& pairs);
-    name_op_v_c_t& add_name_op_pairs(name_op_v_c_t& pairs) const;
     /* --------------------------------------------------------------------- */
 
     name_op_v_t gen_name_op_pairs();
-    name_op_v_c_t gen_name_op_pairs() const;
     /* --------------------------------------------------------------------- */
 
     name_op_pair_t gen_name_op_pair(size_t idx);
-    name_op_pair_c_t gen_name_op_pair(size_t idx) const;
     /* --------------------------------------------------------------------- */
 
     std::string to_string(const Corpus2::Tagset& tagset) const;
@@ -164,23 +153,20 @@ namespace Wccl {
     /* --------------------------------------------------------------------- */
 
     op_ptr_t get_ptr(size_t idx);
-    op_ptr_c_t get_ptr(size_t idx) const;
     /* --------------------------------------------------------------------- */
 
     FunctionalOpSequence::fun_op_ptr_t get_untyped_ptr(size_t idx);
-    FunctionalOpSequence::fun_op_ptr_c_t get_untyped_ptr(size_t idx) const;
     /* --------------------------------------------------------------------- */
 
     name_op_v_t gen_name_op_pairs();
-    name_op_v_c_t gen_name_op_pairs() const;
+/*     name_op_v_c_t gen_name_op_pairs() const; */
     /* --------------------------------------------------------------------- */
 
     name_op_v_t& add_name_op_pairs(name_op_v_t& pairs);
-    name_op_v_c_t& add_name_op_pairs(name_op_v_c_t& pairs) const;
+/*     name_op_v_c_t& add_name_op_pairs(name_op_v_c_t& pairs) const; */
     /* --------------------------------------------------------------------- */
 
     name_op_pair_t gen_name_op_pair(size_t idx);
-    name_op_pair_c_t gen_name_op_pair(size_t idx) const;
     /* --------------------------------------------------------------------- */
 
     std::string to_string(const Corpus2::Tagset& tagset) const;
@@ -198,6 +184,24 @@ namespace Wccl {
   }; // OpSequence
 }
 
+%template(BoolOpSequence) Wccl::OpSequence<Wccl::Bool>;
+%template(StrSetOpSequence) Wccl::OpSequence<Wccl::StrSet>;
+%template(TSetOpSequence) Wccl::OpSequence<Wccl::TSet>;
+%template(PositionOpSequence) Wccl::OpSequence<Wccl::Position>;
+
+%template(UntypedOpSequencePtr) boost::shared_ptr<Wccl::UntypedOpSequence>;
+%template(BoolOpSequencePtr) boost::shared_ptr<Wccl::OpSequence<Wccl::Bool> >;
+%template(StrSetOpSequencePtr) boost::shared_ptr< Wccl::OpSequence<Wccl::StrSet> >;
+%template(TSetOpSequencePtr) boost::shared_ptr<Wccl::OpSequence<Wccl::TSet> >;
+%template(PositionOpSequencePtr) boost::shared_ptr<Wccl::OpSequence<Wccl::Position> >;
+
+%template(UntypedOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::UntypedOpSequence> >;
+%template(BoolOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::Bool> > >;
+%template(StrSetOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::StrSet> > >;
+%template(TSetOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::TSet> > >;
+%template(PositionOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::Position> > >;
+
+
 using namespace boost;
 using namespace Wccl;
 using namespace std;
diff --git a/swig/lexicon.i b/swig/lexicon.i
index b9004e4dc74595796b05b4216193ac020964a870..d32a41f4948d288af145bb14fb953102d5e162b3 100644
--- a/swig/lexicon.i
+++ b/swig/lexicon.i
@@ -18,6 +18,9 @@
 
 %nodefaultctor Wccl::Lexicon;
 
+%template(LexiconPtr) boost::shared_ptr<Wccl::Lexicon>;
+%template(ConstLexiconPtr) boost::shared_ptr<const Wccl::Lexicon>;
+
 namespace Wccl {
   class Lexicon {
   public:
@@ -61,8 +64,6 @@ namespace Wccl {
     const map_t& map() const;
   };
 
-  %template(LexiconPtr) boost::shared_ptr<Wccl::Lexicon>;
-  %template(ConstLexiconPtr) boost::shared_ptr<const Wccl::Lexicon>;
 }
 
 using namespace boost;
diff --git a/swig/lexicons.i b/swig/lexicons.i
index 69a0456567861311169b695e18f1caa14e0ffcef..0c19e08dfb08f7d73306292af0acfe086ab20e6f 100644
--- a/swig/lexicons.i
+++ b/swig/lexicons.i
@@ -13,6 +13,9 @@
 
 %rename(map_t) boost::unordered_map<std::string, boost::shared_ptr<Lexicon> >;
 
+%template(LexiconsPtr) boost::shared_ptr<Wccl::Lexicons>;
+%template(ConstLexiconsPtr) boost::shared_ptr<const Wccl::Lexicons>;
+
 namespace Wccl {
   class Lexicons {
   public:
@@ -42,8 +45,7 @@ namespace Wccl {
     const map_t& get_lexicons() const;
   };
 
-  %template(LexiconsPtr) boost::shared_ptr<Wccl::Lexicons>;
-  %template(ConstLexiconsPtr) boost::shared_ptr<const Wccl::Lexicons>;
+
 }
 
 using namespace boost;
diff --git a/swig/match.i b/swig/match.i
index f296bb3d54b478410832efaf10e72ab3eee4efb9..f492c02e9212a04e5bcd9c9ebfe416f36073e330 100644
--- a/swig/match.i
+++ b/swig/match.i
@@ -18,7 +18,8 @@
 
 %feature("notabstract") Wccl::Match;
 
-// %template (MatchPtr) boost::shared_ptr<Wccl::Match>;
+%template(MatchPtr) boost::shared_ptr<Wccl::Match>;
+%template(ConstMatchPtr) boost::shared_ptr<Wccl::Match const>;
 
 namespace Wccl {
   class Match : public Value {
diff --git a/swig/matchrule.i b/swig/matchrule.i
index 52165c9300abf46ac053c48dae7b763b4da6868f..7d61a7d063164ec1bce97b5d99e1173c1915af57 100644
--- a/swig/matchrule.i
+++ b/swig/matchrule.i
@@ -11,8 +11,14 @@
 %include "libcorpus2/annotatedsentence.i"
 
 %include "std_string.i"
+%include "std_vector.i"
 %include <libcorpus2/boost_shared_ptr.i>
 
+%template(MatchRulePtr) boost::shared_ptr<Wccl::Matching::MatchRule>;
+%template(ConstMatchRulePtr) boost::shared_ptr<const Wccl::Matching::MatchRule>;
+
+%template(MatchRuleVector) std::vector<Wccl::Matching::MatchRule>;
+
 namespace Wccl {
 namespace Matching {
   class MatchRule : public ParsedExpression {
diff --git a/swig/matchrulesequence.i b/swig/matchrulesequence.i
index d45853b668d8c72bf28ca7d1bf5ca287c20f6c3b..e6f7d6b62a5bc74fca6cefb714cdfb20b8488122 100644
--- a/swig/matchrulesequence.i
+++ b/swig/matchrulesequence.i
@@ -15,11 +15,9 @@
 %include "std_vector.i"
 %include <libcorpus2/boost_shared_ptr.i>
 
-%template(MatchRuleVector) std::vector<Wccl::Matching::MatchRule>;
-%template(MatchRulePtr) boost::shared_ptr<Wccl::Matching::MatchRule>;
 %template(ConstMatchRuleSequencePtr) boost::shared_ptr<const Wccl::Matching::MatchRuleSequence>;
 %template(MatchRuleSequencePtr) boost::shared_ptr<Wccl::Matching::MatchRuleSequence>;
-%template(ConstMatchRulePtr) boost::shared_ptr<const Wccl::Matching::MatchRule>;
+
 
 namespace Wccl {
 namespace Matching {
diff --git a/swig/operator.i b/swig/operator.i
index fa7c5c9134d0719ffbdae661496dd16fbb232e04..0d8e36e48744d7a7039247b9072a4d5783e284e0 100644
--- a/swig/operator.i
+++ b/swig/operator.i
@@ -40,8 +40,8 @@ namespace Wccl {
     boost::shared_ptr<const Value> base_apply(const SentenceContext& sc);
     
     /* --------------------------------------------------------------------- */
-    Operator clone() const;
-    Operator clone_clean() const;
+    // Operator clone() const;
+    // Operator clone_clean() const;
     
     /* --------------------------------------------------------------------- */
     boost::shared_ptr<Operator<T> > clone_ptr() const;
@@ -54,17 +54,17 @@ namespace Wccl {
     Operator* clone_internal() const;
     std::ostream& write_to(std::ostream& ostream) const;
   };
+}
 
-  %template (BoolOperator) Operator<Bool>;
-  %template (TSetOperator) Operator<TSet>;
-  %template (StrSetOperator) Operator<StrSet>;
-  %template (PositionOperator) Operator<Position>;
+%template (BoolOperator) Wccl::Operator<Wccl::Bool>;
+%template (TSetOperator) Wccl::Operator<Wccl::TSet>;
+%template (StrSetOperator) Wccl::Operator<Wccl::StrSet>;
+%template (PositionOperator) Wccl::Operator<Wccl::Position>;
 
-  %template (BoolOperatorPtr) boost::shared_ptr<Operator<Bool> >;
-  %template (TSetOperatorPtr) boost::shared_ptr<Operator<TSet> >;
-  %template (StrSetOperatorPtr) boost::shared_ptr<Operator<StrSet> >;
-  %template (PositionOperatorPtr) boost::shared_ptr<Operator<Position> >;
-}
+%template (BoolOperatorPtr) boost::shared_ptr<Wccl::Operator<Wccl::Bool> >;
+%template (TSetOperatorPtr) boost::shared_ptr<Wccl::Operator<Wccl::TSet> >;
+%template (StrSetOperatorPtr) boost::shared_ptr<Wccl::Operator<Wccl::StrSet> >;
+%template (PositionOperatorPtr) boost::shared_ptr<Wccl::Operator<Wccl::Position> >;
 
 using namespace boost;
 using namespace std;
diff --git a/swig/position.i b/swig/position.i
index c5d1698af84329764eae266b01e41f0423ae5f25..9379bc8fcb2163c660aa45e7b33595238d6b98af 100644
--- a/swig/position.i
+++ b/swig/position.i
@@ -13,6 +13,9 @@
 
 %feature("notabstract") Wccl::Position;
 
+%template(PositionPtr) boost::shared_ptr<Wccl::Position>;
+%template(ConstPositionPtr) boost::shared_ptr<Wccl::Position const>;
+
 namespace Wccl {
   class Position : public Value {
   public:
diff --git a/swig/sentencecontext.i b/swig/sentencecontext.i
index 10fa25fa76149e23837b4ccbec2aac3ab9a76ee2..bddbe012a8ff9a710d7ac625973c55c8cbe9b984 100644
--- a/swig/sentencecontext.i
+++ b/swig/sentencecontext.i
@@ -17,6 +17,8 @@
 
 // %feature("notabstract") Wccl::SentenceContext;
 
+%template(SentenceContextPtr) boost::shared_ptr<Wccl::SentenceContext>;
+
 namespace Wccl {
   class SentenceContext {
   public:
@@ -61,8 +63,6 @@ namespace Wccl {
   };
 }
 
-%template(SentenceContextSharedPtr) boost::shared_ptr<Wccl::SentenceContext>;
-
 using namespace boost;
 using namespace std;
 using namespace Wccl;
diff --git a/swig/strset.i b/swig/strset.i
index b97243db7ca166d4bd7b69e96e7acc00305115cb..d494f4e8ad182fca6fb1459e79b2a460b5bc9d4f 100644
--- a/swig/strset.i
+++ b/swig/strset.i
@@ -15,6 +15,9 @@
 
 %feature("notabstract") Wccl::StrSet;
 
+%template(StrSetPtr) boost::shared_ptr<Wccl::StrSet>;
+%template(ConstStrSetPtr) boost::shared_ptr<Wccl::StrSet const>;
+
 %template(UnicodeStringMap) std::set<UnicodeString>;
 
 namespace Wccl {
diff --git a/swig/tagrule.i b/swig/tagrule.i
index b8029fcaf3d468bddccd5610fcb39d0f377c813a..ec132af560ad09689555fdb1c8285eba9e60ae05 100644
--- a/swig/tagrule.i
+++ b/swig/tagrule.i
@@ -15,10 +15,13 @@
 %include "libcorpus2/tagset.i"
 
 %include "std_string.i"
+%include "std_vector.i"
 %include <libcorpus2/boost_shared_ptr.i>
 
 %template(TagRulePtr) boost::shared_ptr<Wccl::TagRule>;
 
+%template(TagRuleVector) std::vector<Wccl::TagRule>;
+
 namespace Wccl {
   class TagRule : public ParsedExpression {
   public:
diff --git a/swig/tagrulesequence.i b/swig/tagrulesequence.i
index 31b0bfd6fe37369fb0d1b527ac8a3554f3c5fb57..1736018ba96eca7afa40d5d7479cb19a31d6aba0 100644
--- a/swig/tagrulesequence.i
+++ b/swig/tagrulesequence.i
@@ -15,7 +15,7 @@
 %include "std_vector.i"
 %include <libcorpus2/boost_shared_ptr.i>
 
-%template(StdVectorTagRule) std::vector<TagRule>;
+
 %template(TagRuleSequencPtr) boost::shared_ptr<Wccl::TagRuleSequence>;
 %template(ConstTagRuleSequencPtr) boost::shared_ptr<const Wccl::TagRuleSequence>;
 
diff --git a/swig/tset.i b/swig/tset.i
index 54a7880c14000001d30dd1e660a0d0b665e42384..a8285f0eb304f2c3f7f162eb345065cd4689be8e 100644
--- a/swig/tset.i
+++ b/swig/tset.i
@@ -15,6 +15,9 @@
 
 %feature("notabstract") Wccl::TSet;
 
+%template(TSetPtr) boost::shared_ptr<Wccl::TSet>;
+%template(ConstTSetPtr) boost::shared_ptr<Wccl::TSet const>;
+
 namespace Wccl {
   class TSet : public Value {
   public:
diff --git a/swig/value.i b/swig/value.i
index 671c3c981ff1da336aa3b19064e6ab0cadb67f11..bc49be07dffb74589b197c6694539285b7b712e9 100644
--- a/swig/value.i
+++ b/swig/value.i
@@ -11,6 +11,9 @@
 
 %nodefaultctor Wccl::Value;
 
+%template(ValuePtr) boost::shared_ptr<Wccl::Value>;
+%template(ConstValuePtr) boost::shared_ptr<Wccl::Value const>;
+
 namespace Wccl {
   class Value {
   public:
diff --git a/swig/variables.i b/swig/variables.i
index 00eb421d3b8b257d38d40f8846d8d4574f2db088..6ad0e6ee0698e86abea863540d5aad21463db120 100644
--- a/swig/variables.i
+++ b/swig/variables.i
@@ -16,19 +16,8 @@
 %include "std_string.i"
 %include <libcorpus2/boost_shared_ptr.i>
 
-%template(ValuePtr) boost::shared_ptr<Wccl::Value>;
-%template(BoolPtr) boost::shared_ptr<Wccl::Bool>;
-%template(PositionPtr) boost::shared_ptr<Wccl::Position>;
-%template(StrSetPtr) boost::shared_ptr<Wccl::StrSet>;
-%template(TSetPtr) boost::shared_ptr<Wccl::TSet>;
-%template(MatchPtr) boost::shared_ptr<Wccl::Match>;
+
 %template(VariablesPtr) boost::shared_ptr<Wccl::Variables>;
-%template(ConstValuePtr) boost::shared_ptr<Wccl::Value const>;
-%template(ConstBoolPtr) boost::shared_ptr<Wccl::Bool const>;
-%template(ConstPositionPtr) boost::shared_ptr<Wccl::Position const>;
-%template(ConstStrSetPtr) boost::shared_ptr<Wccl::StrSet const>;
-%template(ConstTSetPtr) boost::shared_ptr<Wccl::TSet const>;
-%template(ConstMatchPtr) boost::shared_ptr<Wccl::Match const>;
 %template(ConstVariablesPtr) boost::shared_ptr<Wccl::Variables const>;
 
 namespace Wccl {
diff --git a/swig/wcclfile.i b/swig/wcclfile.i
index f7821d63f4ffe284f470ab75169a996279db192d..9e242375a30b2dcad96f2a975c9d262b9b7c6927 100644
--- a/swig/wcclfile.i
+++ b/swig/wcclfile.i
@@ -25,13 +25,6 @@
 %include "std_vector.i"
 %include <libcorpus2/boost_shared_ptr.i>
 
-%template(UntypedOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::UntypedOpSequence> >;
-%template(BoolOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::Bool> > >;
-%template(StrSetOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::StrSet> > >;
-%template(TSetOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::TSet> > >;
-%template(PositionOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::Position> > >;
-%template(MatchOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::Match> > >;
-
 %nodefaultctor Wccl::WcclFile;
 
 %template(WcclFilePtr) boost::shared_ptr<Wccl::WcclFile>;
diff --git a/swig/wcclfileopsections.i b/swig/wcclfileopsections.i
index 8b222409a18bfc652ee49cf4d834b82000d544b4..f8d08dac9ea782916f5a5947d3bd6cac26f2663f 100644
--- a/swig/wcclfileopsections.i
+++ b/swig/wcclfileopsections.i
@@ -73,16 +73,15 @@ namespace Wccl {
     void append(const ptr_t& section);
     /* --------------------------------------------------------------------- */
   };
+}
 
-  %template(UntypedOpSequenceWcclFileOpSections) WcclFileOpSections<UntypedOpSequence>;
-  %template(StrSetOpSequence) WcclFileOpSections<OpSequence<StrSet> >;
-  %template(TSetOpSequence) WcclFileOpSections<OpSequence<TSet> >;
-  %template(BoolOpSequence) WcclFileOpSections<OpSequence<Bool> >;
-  %template(PositionOpSequence) WcclFileOpSections<OpSequence<Position> >;
-  %template(MatchOpSequence) WcclFileOpSections<OpSequence<Match> >;
+%template(UntypedOpSections) Wccl::WcclFileOpSections<Wccl::UntypedOpSequence>;
+%template(StrSetOpSections) Wccl::WcclFileOpSections<Wccl::OpSequence<Wccl::StrSet> >;
+%template(TSetOpSections) Wccl::WcclFileOpSections<Wccl::OpSequence<Wccl::TSet> >;
+%template(BoolOpSections) Wccl::WcclFileOpSections<Wccl::OpSequence<Wccl::Bool> >;
+%template(PositionOpSections) Wccl::WcclFileOpSections<Wccl::OpSequence<Wccl::Position> >;
+%template(MatchOpSections) Wccl::WcclFileOpSections<Wccl::OpSequence<Wccl::Match> >;
 
-  %template(OpSequenceStrSet) Wccl::WcclFileOpSections<Wccl::OpSequence<Wccl::StrSet> >;
-}
 
 using namespace std;
 using namespace Wccl;