diff --git a/swig/functionalopsequence.i b/swig/functionalopsequence.i
index 49d6a8f21cb79d44faa7f6284c60f4e2351b8efb..1f367051c5308f4d5a663a38bfd4fd868bef6f6a 100644
--- a/swig/functionalopsequence.i
+++ b/swig/functionalopsequence.i
@@ -46,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;
@@ -97,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;
@@ -162,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;
@@ -196,12 +184,23 @@ 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> > >;
-%template(MatchOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::Match> > >;
+
 
 using namespace boost;
 using namespace Wccl;