# Design Guide

This document outlines the basic design guide for irdest components.


## Code design

* Use `async` only if required
* Use named generics instead of `impl T` in public functions
* Avoid shared state, if a channel will do the same thing


## Visual design
