add specific exception types
Map now throws UnexpectedType when attach route spec is bad, and [BC BREAK] throws RouteNotFound when generate() cannot find the named route