somewhat functional implementation of recipes and recipe-replacement for target redefinitions