Switch `<>` back to `[]`

Here we go.

Thoughts?
How does this bring the ability to have nicer syntax for HKTs? Wouldn't the example be exactly the same when written like this?

```rust
pub trait Monad<M<T>> {
    // ...
}
```