Documentation
# TypePipe!

### Ever wanted the ability to curry type signatures?
Then wait no longer!
With this crate, you can do things like:

```rust
type_pipe! [
    T,
    MyType<_>,
    MyWrapper<_>,
]
```
and this produces:
```rust
MyWrapper<MyType<T>>,
```

There's three main macros:

`type_pipe`: This replaces all `_` with the resulting type from the previous line.  
This is the example I demonstrated above.
Another example:
* `T, Wrapped<_, String>, Outer<String, _>` -> `Outer<String, Wrapped<T, String>>`

`type_pipe_pre`: This inserts the resulting type from the previous line into the first position.  
 * `T, Wrapped, Outer<String>` -> `Outer<Wrapped<T>, String>`
 * `T, Wrapped<String>, Outer<String>` -> `Outer<Wrapped<T, String>, String>`

`type_pipe_post`: This inserts the resulting type from the previous line into the last position.
* `T, Wrapped, Outer<String>` -> `Outer<String, Wrapped<T>>`