CompilerDirectives.transferToInterpreter();
final CheckArityNode checkArity = new CheckArityNode(context, sourceSection, new Arity(1, 0, false));
final SelfNode self = new SelfNode(context, sourceSection);
final ReadPreArgumentNode readArgument = new ReadPreArgumentNode(context, sourceSection, 0, MissingArgumentBehaviour.RUNTIME_ERROR);
final WriteInstanceVariableNode writeInstanceVariable = new WriteInstanceVariableNode(context, sourceSection, "@" + name, self, readArgument, false);
final RubyNode block = SequenceNode.sequence(context, sourceSection, checkArity, writeInstanceVariable);
final String indicativeName = name + "(attr_writer)";