functor (R : sig val printf_relay : 'a m_log_printer end-> SLog