expanding out of prepare (zephir can't pass by ref)