diff --git a/xs/lib/Slic3r/XS.pm b/xs/lib/Slic3r/XS.pm
index 8df63af91..1998cf130 100644
--- a/xs/lib/Slic3r/XS.pm
+++ b/xs/lib/Slic3r/XS.pm
@@ -9,10 +9,10 @@ XSLoader::load(__PACKAGE__, $VERSION);
 
 package Slic3r::Point::XS;
 use overload
-    '@{}' => sub { $_[0]->_toPerl };
+    '@{}' => sub { $_[0]->arrayref };
 
 package Slic3r::ExPolygon::XS;
 use overload
-    '@{}' => sub { $_[0]->_toPerl };
+    '@{}' => sub { $_[0]->arrayref };
 
 1;
diff --git a/xs/src/ExPolygon.hpp b/xs/src/ExPolygon.hpp
index 14c809c20..0ee9c28a6 100644
--- a/xs/src/ExPolygon.hpp
+++ b/xs/src/ExPolygon.hpp
@@ -18,7 +18,7 @@ class ExPolygon
     public:
     Polygon contour;
     Polygons holes;
-    SV* _toPerl();
+    SV* arrayref();
 };
 
 Polygon*
diff --git a/xs/xsp/ExPolygon.xsp b/xs/xsp/ExPolygon.xsp
index 0c8bdbf9e..a69fd26b6 100644
--- a/xs/xsp/ExPolygon.xsp
+++ b/xs/xsp/ExPolygon.xsp
@@ -21,7 +21,7 @@ ExPolygon::new(...)
         RETVAL
 
 SV*
-ExPolygon::_toPerl()
+ExPolygon::arrayref()
     CODE:
         const unsigned int num_holes = THIS->holes.size();
         AV* av = newAV();
diff --git a/xs/xsp/Point.xsp b/xs/xsp/Point.xsp
index ac1b74e89..372d1edd0 100644
--- a/xs/xsp/Point.xsp
+++ b/xs/xsp/Point.xsp
@@ -10,7 +10,7 @@
 %{
 
 SV*
-Point::_toPerl()
+Point::arrayref()
     CODE:
         RETVAL = point2perl(*THIS);
     OUTPUT: