derived class basic_option from generic_argument