added tests for Functor, Monad, and modified Iface.parse to accept any number of function descriptors