Hi @izzleee,
Q1. Alternatively you could explore this Blog article by Erik Svensen, link can be found here.
Q2. Function values create and invoke other M functions, they take a type and return a type.
You will find more details about Types and the Type system in the online documentation.
I hope this is helpful.