naming,cleanup
restrict-sub-tp scaffold
restrict-sub-tp easy cases
restrict-sub-tp function cases