move splice definitions to compat.h