Basic infrastructure for inserting function types. Issue #14.

Signed-off-by: Austin Seipp <aseipp@pobox.com>