We've seen in #2506 (comment) that this silent state can be a source for bugs, and in general the logic that handles inventory interactions is quite complex and centralized.
Both immutable and take-only slots should be separate Components, additionally they should not require an inventory (e.g. right now we need to allocate an Inventory for each Recipe, which is quite pointless)