I was attracted to this distribution because of the novel interface. ( I rated the interface 4 out of 5 ).
I was willing to forgive the mostly missing documentation because it's the initial 0.01 release.
In cases like this, it's often possible to read the source and start to write some documentation myself. It seems to me it's put together in an overly complicated way. Take these two key lines in the 'define()' routine you see in the SYNOPSIS:
local $_ = HTTP::Router::Mapper->new(routeset => $self->routeset);
So define() takes a code block. In define() we build a new Mapper object, passing to it a new a RouteSet object which is initialized via routeset, _build_routeset and Mouse, and this result is stored in a local version of $_, which is then passed as an argument to the coderef that was provided to define().
I find that flow confusing.
When the documentation for this distribution improves, I'll be interested to take a second look at it more from a user's perspective, without peeking behind the curtain.