no need to to_sym
callback should always have a value
Revert "all `scope_chain` methods allocate new arrays, no need to dup"

This reverts commit 1468a4b89aa4bca99160bfa03572b2c0ab348db5.