diff --git a/src/cell.hpp b/src/cell.hpp
index 6cadd28d70435672cd64a57cfd3b57ba22da6299..0eb7c8133fb7908f4b725fce6ecb48bbfa82aa92 100644
--- a/src/cell.hpp
+++ b/src/cell.hpp
@@ -90,8 +90,11 @@ public:
         spike_detectors_(other.spike_detectors_),
         probes_(other.probes_)
      {
-        util::assign_by(segments_, other.segments_,
-            [](const segment_ptr& p) { return p->clone(); });
+         // unique_ptr's cannot be copy constructed, do a manual assignment
+         auto siter = segments_.begin();
+         for (const auto& s : other.segments_) {
+             *siter = std::move(s->clone());
+         }
      }
 
     /// add a soma to the cell
diff --git a/src/util/rangeutil.hpp b/src/util/rangeutil.hpp
index 7d13aa0bd8c352b91de574f621f56eeeab87be4d..839fb4527be34cf04777c65d7e934712aa7c57e3 100644
--- a/src/util/rangeutil.hpp
+++ b/src/util/rangeutil.hpp
@@ -62,37 +62,13 @@ Container& append(Container &c, const Seq& seq) {
 // Assign sequence to a container
 
 template <typename AssignableContainer, typename Seq>
-enable_if_t<
-    std::is_copy_constructible<typename AssignableContainer::value_type>::value,
-    AssignableContainer&
->
-assign(AssignableContainer& c, const Seq& seq) {
+AssignableContainer& assign(AssignableContainer& c, const Seq& seq) {
     auto canon = canonical_view(seq);
     c.assign(std::begin(canon), std::end(canon));
     return c;
 }
 
 
-// This version of assing is needed for assigning segment_ptr's (i.e.,
-// unique_ptr's) with Clang
-
-template<typename AssignableContainer, typename Seq>
-enable_if_t<
-    !std::is_copy_constructible<typename AssignableContainer::value_type>::value &&
-     std::is_move_constructible<typename AssignableContainer::value_type>::value,
-    AssignableContainer&
->
-assign(AssignableContainer& c, const Seq& seq)
-{
-    auto citer = c.begin();
-    for (auto s : canonical_view(seq)) {
-        *citer = std::move(s);
-    }
-
-    return c;
-}
-
-
 // Assign sequence to a container with transform `proj`
 
 template <typename AssignableContainer, typename Seq, typename Proj>