Optional<Type> coercedType = coerceTypeBase(fromType, toType.getTypeSignature().getBase()); if (coercedType.isPresent()) { return compatibility(coercedType.get(), toType); coercedType = coerceTypeBase(toType, fromType.getTypeSignature().getBase()); if (coercedType.isPresent()) { TypeCompatibility typeCompatibility = compatibility(fromType, coercedType.get());