Global session types prevent participants from waiting for never coming messages. Some interactions take place just for the purpose of informing receivers that some message will never arrive or the session is terminated. By decomposing a big global type into several light global types, one can avoid such kind of redundant interactions. Lightening global types gives us cleaner global types, which keep all necessary communications. This work proposes a framework which allows to easily decompose global types into light global types, preserving the interaction sequences of the original ones but for redundant interactions.1 Introduction. Since cooperating tasks and sharing resources through communications under network infrastructures (e.g. clouds, large-scale distributed systems, etc.) has become the norm and the services for communications are growing with increasing users, it is a need to give programmers an easy and powerful programming language for developing applications of interactions. For this aim, Scribble [19], a communication-based programming language, is introduced building on the theory of global types [21,3]. A developer can use Scribble to code a global protocol, which stipulates any local endpoints (i.e. local applications) participanting in it. The merits of coding global protocols, rather than just coding the local ones, are (1) giving all local participants a clear blue map of what events they are involved in and what purposes of those events and (2) making it easier and more efficient to exchange, share, and maintain communications plans (e.g. design of global protocols) across organisations. However, the tool itself cannot ensure an efficient communication programming. The scenario of a global communication can be very complicated so it becomes a burden for programmers to correctly code interactions which satisfy protocols (described by global types). At runtime, the cost for keeping all resources ready for a long communication and for maintaining the safety of the whole system can increase a lot.For example, assume a gift requester needs a key (with her identity) to get a wanted gift. In order to get the key, she needs to get a guide, which is a map for finding the key. It is like searching for treasures step by step, where a player needs not be always online in one session for completing the whole procedure. Instead, the communication protocol can be viewed as separated but related sessions which are linked (we use calls to switch from a session to another). For example, let a session A do the interactions for getting guide, and another session B do the interactions for getting key with guide. Both guide and key are knowledge gained from these interactions. guide bridges A and B as it is gained in A and used in B. The participant then uses key, if she successfully got it in B, to gain the wanted gift. Let session C implements these final interactions.As standard we use global types [21,3] to describe interaction protocols, adding a call command and type declarations for relating sessions. We ...