Add some nicer error message.
Simplify the API some.
Keep the public functions separate.
Enable adding aliases.
Some more testing.
Enable cargo allocating the target.

So for instance you can dynamically get as many input as you like.

Currently, only fixed size is supported. I will add dynamic growth later.