diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/ActiveBindingMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/ActiveBindingMR.java
index 5aa08ac4faab867795d867b1cb21b8cafabef269..94532825ba6d359254f320a8ad0c778b62d1da8c 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/ActiveBindingMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/ActiveBindingMR.java
@@ -38,20 +38,6 @@ public class ActiveBindingMR {
         }
     }
 
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class ActiveBindingHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") ActiveBinding receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class ActiveBindingIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") ActiveBinding receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "UNBOX")
     public abstract static class ActiveBindingUnboxNode extends Node {
 
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/ListMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/ListMR.java
index 7f302a44829da75bbfd5906986f021a8bcaa5e48..92276371262cf8d572b35f2feb6458d10590b8c8 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/ListMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/ListMR.java
@@ -62,12 +62,6 @@ public class ListMR {
 
     @MessageResolution(receiverType = RList.class)
     public static class RListMR extends ListMR {
-        @Resolve(message = "IS_BOXED")
-        public abstract static class RListIsBoxedNode extends Node {
-            protected Object access(RList receiver) {
-                return isBoxed(receiver);
-            }
-        }
 
         @Resolve(message = "HAS_SIZE")
         public abstract static class RListHasSizeNode extends Node {
@@ -85,13 +79,6 @@ public class ListMR {
             }
         }
 
-        @Resolve(message = "IS_NULL")
-        public abstract static class RListIsNullNode extends Node {
-            protected Object access(RList receiver) {
-                return isNull(receiver);
-            }
-        }
-
         @Resolve(message = "READ")
         public abstract static class RListReadNode extends Node {
             @Child private ListReadImplNode read = ListReadImplNodeGen.create();
@@ -146,12 +133,6 @@ public class ListMR {
 
     @MessageResolution(receiverType = RPairList.class)
     public static class RPairListMR {
-        @Resolve(message = "IS_BOXED")
-        public abstract static class RPairListIsBoxedNode extends Node {
-            protected Object access(RPairList receiver) {
-                return isBoxed(receiver);
-            }
-        }
 
         @Resolve(message = "HAS_SIZE")
         public abstract static class RPairListHasSizeNode extends Node {
@@ -169,13 +150,6 @@ public class ListMR {
             }
         }
 
-        @Resolve(message = "IS_NULL")
-        public abstract static class RPairListIsNullNode extends Node {
-            protected Object access(RPairList receiver) {
-                return isNull(receiver);
-            }
-        }
-
         @Resolve(message = "IS_EXECUTABLE")
         public abstract static class RPairListIsExecutableNode extends Node {
             protected Object access(@SuppressWarnings("unused") RPairList receiver) {
@@ -414,14 +388,6 @@ public class ListMR {
         }
     }
 
-    private static boolean isBoxed(@SuppressWarnings("unused") TruffleObject receiver) {
-        return false;
-    }
-
-    private static boolean isNull(@SuppressWarnings("unused") TruffleObject receiver) {
-        return false;
-    }
-
     private static boolean hasSize(@SuppressWarnings("unused") TruffleObject receiver) {
         return true;
     }
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java
index fd586b60d95c446b3c9325c260ba3f75b433f3e7..9e60cc21fd4caeab36ffe79306617ecc27d1c8ea 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java
@@ -44,12 +44,6 @@ import com.oracle.truffle.r.runtime.interop.R2ForeignNodeGen;
 
 @MessageResolution(receiverType = RArgsValuesAndNames.class)
 public class RArgsValuesAndNamesMR {
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RArgsValuesAndNamesIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RArgsValuesAndNames receiver) {
-            return false;
-        }
-    }
 
     @Resolve(message = "HAS_SIZE")
     public abstract static class RArgsValuesAndNamesHasSizeNode extends Node {
@@ -65,13 +59,6 @@ public class RArgsValuesAndNamesMR {
         }
     }
 
-    @Resolve(message = "IS_NULL")
-    public abstract static class RArgsValuesAndNamesIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RArgsValuesAndNames receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "READ")
     public abstract static class RArgsValuesAndNamesReadNode extends Node {
         @Child RArgsValuesAndNamesReadImplNode readNode = RArgsValuesAndNamesReadImplNodeGen.create();
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RConnectionMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RConnectionMR.java
index 0d364d7041d352aa363b02bde22df019039f5fd5..273c19ac19309adaafef5501531d4199f0426aeb 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RConnectionMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RConnectionMR.java
@@ -32,27 +32,6 @@ import com.oracle.truffle.r.runtime.conn.RConnection;
 @MessageResolution(receiverType = RConnection.class)
 public class RConnectionMR {
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RConnectionIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RConnectionHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RConnectionIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "KEY_INFO")
     public abstract static class RConnectionKeyInfoNode extends Node {
         protected Object access(@SuppressWarnings("unused") TruffleObject receiver, @SuppressWarnings("unused") Object identifier) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RContextMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RContextMR.java
index 67d3201bba8025c38568cbd99b25073aab8c346d..e1d5c3497e607570a63187226591acfd0753c2a2 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RContextMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RContextMR.java
@@ -32,27 +32,6 @@ import com.oracle.truffle.r.runtime.context.RContext;
 @MessageResolution(receiverType = RContext.class)
 public class RContextMR {
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RContextIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RContextHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RContextIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "KEY_INFO")
     public abstract static class RContextKeyInfoNode extends Node {
         protected Object access(@SuppressWarnings("unused") TruffleObject receiver, @SuppressWarnings("unused") Object identifier) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RDoubleMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RDoubleMR.java
index a31821ee84c8304b6eeca61eeb4ec853b8db7313..06c424cc1f2b1fb4badd4c012be9d491fd8dbe01 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RDoubleMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RDoubleMR.java
@@ -38,20 +38,6 @@ public class RDoubleMR {
         }
     }
 
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RDoubleHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RDouble receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RDoubleIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RDouble receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "UNBOX")
     public abstract static class RDoubleUnboxNode extends Node {
         protected double access(RDouble receiver) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/REmptyMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/REmptyMR.java
index 6537ae621cede6fffa8aa3ae882caf957c59dd1f..462d98e4c6aaccd9d4393568435d0766219e8ef4 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/REmptyMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/REmptyMR.java
@@ -32,27 +32,6 @@ import com.oracle.truffle.r.runtime.data.REmpty;
 @MessageResolution(receiverType = REmpty.class)
 public class REmptyMR {
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class REmptyIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") REmpty receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class REmptyHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") REmpty receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class REmptyIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") REmpty receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "KEY_INFO")
     public abstract static class REmptyKeyInfoNode extends Node {
         protected Object access(@SuppressWarnings("unused") TruffleObject receiver, @SuppressWarnings("unused") Object identifier) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/REnvironmentMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/REnvironmentMR.java
index d2dae219f4faf2a1384ae87549abe56026ee2846..b18d134b3bffc9232b05c213cac2fdd11f600141 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/REnvironmentMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/REnvironmentMR.java
@@ -55,13 +55,6 @@ import com.oracle.truffle.r.runtime.interop.R2ForeignNodeGen;
 @MessageResolution(receiverType = REnvironment.class)
 public class REnvironmentMR {
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class REnvironmentIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") REnvironment receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "TO_NATIVE")
     public abstract static class REnvironmentToNativeNode extends Node {
         protected Object access(REnvironment receiver) {
@@ -69,20 +62,6 @@ public class REnvironmentMR {
         }
     }
 
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class REnvironmentHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") REnvironment receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class REnvironmentIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") REnvironment receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "READ")
     public abstract static class REnvironmentReadNode extends Node {
         @Child private REnvironmentReadImplNode readNode = REnvironmentReadImplNodeGen.create();
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RExternalPtrMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RExternalPtrMR.java
index d180a32a9046410c7cd08f22b4ab105d8de64c18..bb333c5502fd6dbec9b5522babfcd46fc94257f5 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RExternalPtrMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RExternalPtrMR.java
@@ -31,26 +31,6 @@ import com.oracle.truffle.r.runtime.data.RExternalPtr;
 
 @MessageResolution(receiverType = RExternalPtr.class)
 public class RExternalPtrMR {
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RExternalPtrIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RExternalPtrHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RExternalPtrIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
 
     @Resolve(message = "KEY_INFO")
     public abstract static class RExternalPtrKeyInfoNode extends Node {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RFunctionMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RFunctionMR.java
index 0d6afa91c24e34b9813494e73606d156be01086c..19af21fca055a0f36aa5c97327ce9a224614827b 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RFunctionMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RFunctionMR.java
@@ -49,27 +49,6 @@ import com.oracle.truffle.r.runtime.interop.R2ForeignNodeGen;
 @MessageResolution(receiverType = RFunction.class)
 public class RFunctionMR {
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RFunctionIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RFunctionHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RFunctionIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "KEY_INFO")
     public abstract static class RFunctionKeyInfoNode extends Node {
         protected Object access(@SuppressWarnings("unused") TruffleObject receiver, @SuppressWarnings("unused") Object identifier) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RIntegerMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RIntegerMR.java
index 498b95efac7e6914ba5a96755a01cc495a5fa7a2..923a8cd7b3954a100b060bb421f1138d038c230f 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RIntegerMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RIntegerMR.java
@@ -38,20 +38,6 @@ public class RIntegerMR {
         }
     }
 
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RIntegerHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RInteger receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RIntegerIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RInteger receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "KEY_INFO")
     public abstract static class RIntegerKeyInfoNode extends Node {
         protected Object access(@SuppressWarnings("unused") TruffleObject receiver, @SuppressWarnings("unused") Object identifier) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RInteropScalarMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RInteropScalarMR.java
index 798ab8277caded8b647a63aa5af2377f3e0c41c0..2d4ff14a9ef7dd35d3801918b793fa9566ed59e6 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RInteropScalarMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RInteropScalarMR.java
@@ -62,20 +62,6 @@ public class RInteropScalarMR {
         }
     }
 
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RInteropScalarHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RInteropScalar receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RInteropScalarIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RInteropScalar receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "KEY_INFO")
     public abstract static class RInteropScalarKeyInfoNode extends Node {
         protected Object access(@SuppressWarnings("unused") TruffleObject receiver, @SuppressWarnings("unused") Object identifier) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RLanguageMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RLanguageMR.java
index f92d14eab132feae75d084af7bf811cf399f4f0d..699bf254017fcbe4830059d21a9651109cfde27f 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RLanguageMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RLanguageMR.java
@@ -47,13 +47,6 @@ import com.oracle.truffle.r.runtime.interop.R2ForeignNodeGen;
 @MessageResolution(receiverType = RLanguage.class)
 public class RLanguageMR {
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RLanguageIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RLanguage receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "HAS_SIZE")
     public abstract static class RLanguageHasSizeNode extends Node {
         protected Object access(@SuppressWarnings("unused") RLanguage receiver) {
@@ -68,13 +61,6 @@ public class RLanguageMR {
         }
     }
 
-    @Resolve(message = "IS_NULL")
-    public abstract static class RLanguageIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RLanguage receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "TO_NATIVE")
     public abstract static class RLanguageToNativeNode extends Node {
         protected Object access(RLanguage receiver) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RMissingMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RMissingMR.java
index 22ed9437334387647a0af54e855179b0ed06aec1..9c6abcf27b4b49c284248918ac15327e5a8bfe38 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RMissingMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RMissingMR.java
@@ -32,27 +32,6 @@ import com.oracle.truffle.r.runtime.data.RMissing;
 @MessageResolution(receiverType = RMissing.class)
 public class RMissingMR {
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RMissingIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RMissing receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RMissingHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RMissing receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RMissingIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RMissing receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "KEY_INFO")
     public abstract static class RMissingKeyInfoNode extends Node {
         protected Object access(@SuppressWarnings("unused") TruffleObject receiver, @SuppressWarnings("unused") Object identifier) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RNullMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RNullMR.java
index 92aa246996cb3100f2eae689e52df2536ee8fb27..270f160dde7635edebde476f2cffbc82ffb51141 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RNullMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RNullMR.java
@@ -37,20 +37,6 @@ public class RNullMR {
      */
     private static boolean isNull = true;
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RNullIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RNull receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RNullHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RNull receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "IS_NULL")
     public abstract static class RNullIsNullNode extends Node {
         protected Object access(@SuppressWarnings("unused") RNull receiver) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RPromiseMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RPromiseMR.java
index aaf35509de1b756d4175b9ff4161d71e1af0d768..f531beac95dcddda545333c19445b074ea67fc50 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RPromiseMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RPromiseMR.java
@@ -50,20 +50,6 @@ public class RPromiseMR {
     private static final String PROP_IS_EVALUATED = "isEvaluated";
     private static final String PROP_EXPR = "expression";
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RPromiseIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RPromise receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RPromiseIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RPromise receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "READ")
     public abstract static class RPromiseReadNode extends Node {
         @Child RPromiseReadImplNode readNode = RPromiseReadImplNodeGen.create();
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RS4ObjectMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RS4ObjectMR.java
index c52fc25a1b1a3412fb8ca0d1d4a72fa7b77315f6..65a9cd84ba36ed4a52c624bcadfd77a9e1574081 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RS4ObjectMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RS4ObjectMR.java
@@ -57,27 +57,6 @@ import com.oracle.truffle.r.runtime.interop.R2ForeignNodeGen;
 @MessageResolution(receiverType = RS4Object.class)
 public class RS4ObjectMR {
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RS4ObjectIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RS4Object receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RS4ObjectHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RS4Object receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RS4ObjectIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RS4Object receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "READ")
     public abstract static class RS4ObjectReadNode extends Node {
         @Child private RS4ObjectReadImplNode readNode = RS4ObjectReadImplNodeGen.create();
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RSymbolMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RSymbolMR.java
index f175339f0953f8a87e4ba5f9d50c0c4568119a77..d506157e6f72ff6ec0d09e76e792b5217b7b4396 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RSymbolMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RSymbolMR.java
@@ -33,27 +33,6 @@ import com.oracle.truffle.r.runtime.data.RSymbol;
 @MessageResolution(receiverType = RSymbol.class)
 public class RSymbolMR {
 
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RSymbolIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RSymbolHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RSymbolIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") TruffleObject receiver) {
-            return false;
-        }
-    }
-
     @Resolve(message = "KEY_INFO")
     public abstract static class RSymbolKeyInfoNode extends Node {
         protected Object access(@SuppressWarnings("unused") TruffleObject receiver, @SuppressWarnings("unused") Object identifier) {
diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RUnboundValueMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RUnboundValueMR.java
index c2d60fa3a6da3b023cd43db7b6e8b83e34d10a37..6810239ab9eda9b452af44aa14f75b0045e13aad 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RUnboundValueMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RUnboundValueMR.java
@@ -31,26 +31,6 @@ import com.oracle.truffle.r.runtime.data.RUnboundValue;
 
 @MessageResolution(receiverType = RUnboundValue.class)
 public class RUnboundValueMR {
-    @Resolve(message = "IS_BOXED")
-    public abstract static class RUnboundValueIsBoxedNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RUnboundValue receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "HAS_SIZE")
-    public abstract static class RUnboundValueHasSizeNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RUnboundValue receiver) {
-            return false;
-        }
-    }
-
-    @Resolve(message = "IS_NULL")
-    public abstract static class RUnboundValueIsNullNode extends Node {
-        protected Object access(@SuppressWarnings("unused") RUnboundValue receiver) {
-            return false;
-        }
-    }
 
     @Resolve(message = "KEY_INFO")
     public abstract static class RUnboundValueKeyInfoNode extends Node {
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Strtoi.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Strtoi.java
index 57d4d6171b68c21d7dae1079de4df35e69db4542..d08b8e788681eb0c04ceeea634209f3092d3f887 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Strtoi.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Strtoi.java
@@ -30,7 +30,6 @@ import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.stringValue;
 import static com.oracle.truffle.r.runtime.builtins.RBehavior.PURE;
 import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.INTERNAL;
 
-import com.oracle.truffle.api.ExactMath;
 import com.oracle.truffle.api.dsl.Cached;
 import com.oracle.truffle.api.dsl.Specialization;
 import com.oracle.truffle.api.profiles.ConditionProfile;
@@ -127,7 +126,7 @@ public abstract class Strtoi extends RBuiltinNode.Arg2 {
                             }
                         }
                         try {
-                            dataValue = ExactMath.addExact(ExactMath.multiplyExact(dataValue, base), digit);
+                            dataValue = Math.addExact(Math.multiplyExact(dataValue, base), digit);
                         } catch (ArithmeticException e) {
                             dataValue = RRuntime.INT_NA;
                             break;
diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java
index c1095564bc62e77dfd6579168a8ba91c68e1c0ca..f44a3cfa50fda6a71b4f6d89a442bfbc7e241c2c 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java
@@ -39,7 +39,6 @@ import java.util.function.Function;
 import com.oracle.truffle.api.CallTarget;
 import com.oracle.truffle.api.CompilerAsserts;
 import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
-import com.oracle.truffle.api.RootCallTarget;
 import com.oracle.truffle.api.Truffle;
 import com.oracle.truffle.api.TruffleRuntime;
 import com.oracle.truffle.api.frame.Frame;
@@ -48,7 +47,6 @@ import com.oracle.truffle.api.frame.FrameInstance;
 import com.oracle.truffle.api.frame.FrameInstance.FrameAccess;
 import com.oracle.truffle.api.frame.FrameInstanceVisitor;
 import com.oracle.truffle.api.frame.FrameSlot;
-import com.oracle.truffle.api.nodes.GraphPrintVisitor;
 import com.oracle.truffle.api.profiles.ConditionProfile;
 import com.oracle.truffle.api.source.Source;
 import com.oracle.truffle.api.source.SourceSection;
@@ -56,7 +54,6 @@ import com.oracle.truffle.r.runtime.conn.StdConnections;
 import com.oracle.truffle.r.runtime.context.RContext;
 import com.oracle.truffle.r.runtime.context.RContext.ConsoleIO;
 import com.oracle.truffle.r.runtime.data.RDataFactory;
-import com.oracle.truffle.r.runtime.data.RFunction;
 import com.oracle.truffle.r.runtime.data.RLanguage;
 import com.oracle.truffle.r.runtime.data.RNull;
 import com.oracle.truffle.r.runtime.data.RPairList;
@@ -112,16 +109,6 @@ public final class Utils {
         return result;
     }
 
-    public static void dumpFunction(String groupName, RFunction function) {
-        GraphPrintVisitor graphPrinter = new GraphPrintVisitor();
-        RootCallTarget callTarget = function.getTarget();
-        if (callTarget != null) {
-            graphPrinter.beginGroup(groupName);
-            graphPrinter.beginGraph(RRuntime.toString(function)).visit(callTarget.getRootNode());
-        }
-        graphPrinter.printToNetwork(true);
-    }
-
     /**
      * Locates a resource that is used within the implementation, e.g. a file of R code, and returns
      * a {@link Source} instance that represents it. Since the location may vary between
diff --git a/mx.fastr/suite.py b/mx.fastr/suite.py
index ce442915dc01b8c79e4ba2c90580c6545ae1750d..154838f37e9a3a80639bf5b8f328a617909dc450 100644
--- a/mx.fastr/suite.py
+++ b/mx.fastr/suite.py
@@ -29,7 +29,7 @@ suite = {
             {
                "name" : "truffle",
                "subdir" : True,
-               "version" : "554cf703833b2665da613da0fac4972abd293fbd",
+               "version" : "1a54617b9b05c825e6d4a9db1ef783a862fbaf01",
                "urls" : [
                     {"url" : "https://github.com/graalvm/graal", "kind" : "git"},
                     {"url" : "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind" : "binary"},