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.