run splice in eval {} to avoid build failure (#3)