import ceylon.language.meta.declaration { TypeParameter } import ceylon.language.meta.model { ClosedType = Type } "A generic model which has closed type arguments." shared sealed interface Generic { "The map of type parameter declaration to type arguments for this generic model." shared formal Map<TypeParameter, ClosedType<>> typeArguments; "The list of type arguments for this generic model." shared formal ClosedType<>[] typeArgumentList; "The map of type parameter declaration to type arguments and use-site variance for this generic model." shared formal Map<TypeParameter, TypeArgument> typeArgumentWithVariances; "The list of type arguments for this generic model." shared formal TypeArgument[] typeArgumentWithVarianceList; }