Вот кстати
@akuklev кинул в ЖЖ вброс про Шульмана. Вот его код на Агде HoTT-овских HIR, можно к нам портировать, тем более что групоиды у нас совместимы:
module Universe {i j} {T : Type i} (E : T → Type j) where
private
data #U : Type (lmax i j)
#El : #U → Type j
data #U where
#name : (t : T) → #U
#sig : (A : #U) → (#El A → #U) → #U
#pi : (A : #U) → (#El A → #U) → #U
#path : (A : #U) → #El A → #El A → #U
#El (#name t) = E t
#El (#sig A B) = Σ (#El A) (λ a → #El (B a))
#El (#pi A B) = Π (#El A) (λ a → #El (B a))
#El (#path A a b) = (a == b)
https://github.com/mikeshulman/HoTT-Agda/blob/hiruniv/experimental/HIRUniverse.agda#L77-L93