template< typename Rep, typename... Ts > static std::shared_ptr< Report > get( Ts &&... ts ) { return _get< Rep >( wibble::Preferred(), std::forward< Ts >( ts )... ); }