func IsStrictSubroleOf(left, right string) bool {
	return len(left) > len(right) && left[len(right)] == '/' && strings.HasPrefix(left, right)
}
IsStrictSubroleOf returns true if left is a strict subrole of right.
package roles
import (
	"fmt"
	"strings"
	"unicode"
)
type Role string
const defaultRole = Role("*")
func (r Role) IsDefault() bool {
	return r == defaultRole
}
func (r Role) Assign() func(interface{}) {
	return func(v interface{}) {
		type roler interface {
			WithRole(string)
		}
		if ri, ok := v.(roler); ok {
			ri.WithRole(string(r))
		}
	}
}
func (r Role) Proto() *string {
	s := string(r)
	return &s
}