finished type expr parser