strings for templates. parameters and return types for callbacks. renames interfaces to have I as prefix