18    Annotation(
Env& t_env, std::string t_name) : impl::Annotation(t_env, std::move(t_name)) {}
 
   20    template<
class ...ArgsT> 
Annotation(
Env& t_env, std::string t_name, ArgsT&& ...t_args)
 
   21        : impl::Annotation(t_env, std::move(t_name)) {
 
   23        set_default_value<ValueT>(std::forward<ArgsT>(t_args)...);
 
   27    template<
class ...ArgsT>
 
   28    static Annotation<ValueT> make_with_default_value(
Env& t_env, std::string t_name, ArgsT&& ...t_args) {
 
   30        result.set_default_value<ValueT>(std::forward<ArgsT>(t_args)...);
 
   34    [[nodiscard]] 
const ValueT& default_value()
 const { 
return impl::Annotation::cast_default_value<ValueT>(); }