This simplifies the process of matching function parameter types. More simplifications are probably possible here, but arrays and structures need to be implemented first.
The code is still really rough and *REALLY* incomplete. This at least passes the first few trivially simple test cases.