  Session types are behavioural types for guaranteeing that concurrent programs
are free from basic communication errors. Recent work has shown that
asynchronous session subtyping is undecidable. However, since session types
have become popular in mainstream programming languages in which asynchronous
communication is the norm rather than the exception, it is crucial to detect
significant decidable subtyping relations. Previous work considered extremely
restrictive fragments in which limitations were imposed to the size of
communication buffer (at most 1) or to the possibility to express multiple
choices (disallowing them completely in one of the compared types). In this
work, for the first time, we show decidability of a fragment that does not
impose any limitation on communication buffers and allows both the compared
types to include multiple choices for either input or output, thus yielding a
fragment which is more significant from an applicability viewpoint. In general,
we study the boundary between decidability and undecidability by considering
several fragments of subtyping. Notably, we show that subtyping remains
undecidable even if restricted to not using output covariance and input
contravariance.
