preludeBuilder = new IfNode(context, sourceSection,
BooleanCastNodeFactory.create(context, sourceSection,
new AndNode(context, sourceSection,
new BehaveAsBlockNode(context, sourceSection, true),
new ShouldDestructureNode(context, sourceSection, arity,
new RespondToNode(context, sourceSection, readArrayNode, "to_ary")))),
SequenceNode.sequence(context, sourceSection, writeArrayNode, newDestructureArguments),
loadArguments);
} else {
preludeBuilder = loadArguments;
}