%kata T1_CreateEntangledPair operation CreateEntangledPair (q1 : Qubit, q2 : Qubit) : Unit is Adj { // ... } %kata T2_EncodeMessageInQubit open Quantum.Kata.SuperdenseCoding; operation EncodeMessageInQubit (qAlice : Qubit, message : ProtocolMessage) : Unit { if message::Bit1 { // accesses the item 'Bit1' of 'message' // ... } // ... } %kata T3_DecodeMessageFromQubits open Quantum.Kata.SuperdenseCoding; operation DecodeMessageFromQubits (qAlice : Qubit, qBob : Qubit) : ProtocolMessage { // ... } %kata T4_SuperdenseCodingProtocol open Quantum.Kata.SuperdenseCoding; operation SuperdenseCodingProtocol (message : ProtocolMessage) : ProtocolMessage { // ... }