Big overhaul of the typing and function execution system. Now
(tentatively) allows data types. Will add more types and data types and
see how that works.