public static ClassAnnotation Annotate <T>(this object target, params Func <string, T>[] args)
        {
            ClassAnnotation annotation = GetOrCreateAnnotation(target);

            annotation.Annotate(args);
            return(annotation);
        }
        public static MemberAnnotation Annotate <T>(this object target, Expression <Proc> expression, params Func <string, T>[] args)
        {
            ClassAnnotation annotation = GetOrCreateAnnotation(target);

            return(annotation.Annotate(expression, args));
        }