I think, one of the concepts that crutschow is trying to illustrate is that a Data-selector multiplexor can allow you to cheat. You can make any function you wish with three inputs with a 3 bit input mux. The "address" becomes the inputs and the "DATA" becomes the output. So, if you want a 101 to output a 1 and all the others to output a zero or 1, you can.
One gate I don't see very often is a quad 2-input XNOR gate with open collector outputs. https://www.futurlec.com/74LS/74LS266.shtml It's a great chip to use as a cascadeable comparitor (= to). An old minicomputer from the 70's used this technique a lot.
For some reason now, my post makes no sense. Something must have moved?