# Saindo do void para o Unit

Em algumas linguagens funcionais, **toda** função precisa retornar um tipo de valor. Para os casos onde não há um resultado real utilizamos o tipo `Unit`.

O tipo `Unit` é bastante similar ao tipo `void` em praticamente todos os aspectos. No entanto é possível construir um valor do tipo `Unit`, algo que não temos com o `void`.

Ou seja, é possível criar uma variável do tipo `Unit`, ela não conterá nenhuma informação e nenhum tipo de comportamento, no entanto é algo concreto.

Este valor é útil para permitir a conversão entre uma `Action` e uma `Func`, além disso, permite que operações que não geram retorno sejam colocadas em uma cadeia de execuções.
