Yeah a list of objects is helpfull... But then instead of doing two lists (fluid/items) you could have done one list with Object and you simply were easier done, because you simpy check if everything in both lists are given (input from machine and the recipe) then you say it is a valid recipe.
Yes, this is an option.
Chocohead, try out new version.