Refactored funcproto_type