Looks great for a first package. I especially love the documentation, if only all smaller/obscure packages were this well documented
One suggestion is that instead of using error
you should be more specific with which type of error is being thrown. For example, the first error says: error("If given, length of x must be the same as y.")
which is a problem with the user’s input, so it’s an ArgumentError
.
Some previous discussion on this can be found here.