@@ -150,12 +150,12 @@ namespace purescript {
150150
151151 }; // class boxed::weak
152152
153− class ref {
153+ class recur {
154154 std::shared_ptr<boxed> sptr;
155155 std::shared_ptr<boxed::weak> wptr;
156156
157157 public:
158− ref() : sptr(std::make_shared<boxed>())
158+ recur() : sptr(std::make_shared<boxed>())
159159 , wptr(std::make_shared<boxed::weak>(*sptr)) {}
160160
161161 operator const boxed&() const {
@@ -175,7 +175,7 @@ namespace purescript {
175175 }
176176
177177 template <typename T>
178− auto operator=(T&& right) -> ref& {
178+ auto operator=(T&& right) -> recur& {
179179 *sptr = std::forward<T>(right);
180180 *wptr = *sptr;
181181 return *this;
@@ -184,7 +184,7 @@ namespace purescript {
184184 class weak {
185185 std::shared_ptr<boxed::weak> wptr;
186186 public:
187− weak(const ref& r) : wptr(r.wptr) {}
187+ weak(const recur& r) : wptr(r.wptr) {}
188188
189189 operator boxed() const {
190190 return *wptr;
@@ -197,8 +197,8 @@ namespace purescript {
197197 auto operator()(const boxed& arg) const -> boxed {
198198 return static_cast<boxed>(*wptr)(arg);
199199 }
200− }; // class ref::weak
201− }; // class boxed::ref
200+ }; // class recur::weak
201+ }; // class boxed::recur
202202
203203 }; // class boxed
204204