code: func (st *state) closureTypeName() AST {
  	st.checkChar('U')
  	st.checkChar('l')
  	types := st.parmlist()
  	if len(st.str) == 0 || st.str[0] != 'E' {
  		st.fail("expected E after closure type name")
  	}
  	st.advance(1)
  	num := st.compactNumber()
  	ret := &Closure{Types: types, Num: num}
  	st.subs.add(ret)
  	return ret
  }
docs: // <closure-type-name> ::= Ul <lambda-sig> E [ <nonnegative number> ] _