This code could do away with the temp variable and then return `[result copy]`, since `-copy` on mutable instances returns immutable instances.