  Most categorical models for dependent types have traditionally been heavily
set based: contexts form a category, and for each we have a set of types in
said context -- and for each type a set of terms of said type. This is the case
for categories with families, categories with attributes, and natural models;
in particular, all of them can be traced back to certain discrete Grothendieck
fibrations. We extend this intuition to the case of general, non necessarily
discrete, fibrations, so that over a given context one has not only a set but a
category of types.
  We argue that the added structure can be attributed to a notion of subtyping
that shares many features with that of coercive subtyping, in the sense that it
is the product of thinking about subtyping as an abbreviation mechanism: we say
that a given type $A'$ is a subtype of $A$ if there is a unique coercion from
$A'$ to $A$. Whenever we need a term of type $A$, then, it suffices to have a
term of type $A'$, which we can `plug-in' into $A$.
  For this version of subtyping we provide rules, coherences, and explicit
models, and we compare and contrast it to coercive subtyping as introduced by
Z. Luo and others. We conclude by suggesting how the tools we present can be
employed in finding appropriate rules relating subtyping and certain type
constructors.
