Adding function type and object validation traversal

Closes #46