Transactions in `@solana/kit` are built using functional pipelines:
typescript
import { pipe, createTransactionMessage, setTransactionMessageFeePayer } from '@solana/kit';
const txMessage = pipe(
createTransactionMessage({ version: 0 }),
tx => setTransactionMessageFeePayer(payerAddress, tx),
tx => appendTransactionMessageInstruction(myInstruction, tx)
);