Function invoke prototype

This is obviously still limited, but certainly by far more powerful than what is on master right now. I am opening the issue on `unsigned` returns alongside.