message: Fix some very widespread problems in the GKO operations.
diff: @@ -200,7 +200,7 @@ public: \
  private: \
  template <int... Ns> \
  void call(::gko::syn::value_list<int, Ns...>, \
  - std::shared_ptr<const ::gko::_type> exec) const \
  + std::shared_ptr<const ::gko::_type> &exec) const \
  { \
  ::gko::kernels::_namespace::_kernel( \
  exec, std::forward<Args>(std::get<Ns>(data))...); \
  @@ -219,7 +219,7 @@ public: \
  private: \
  template <int... Ns> \
  void call(::gko::syn::value_list<int, Ns...>, \
  - std::shared_ptr<const ::gko::_type> exec) const \
  + std::shared_ptr<const ::gko::_type> &exec) const \
  { \
  ::gko::kernels::_namespace::_kernel( \
  exec, std::forward<Args>(std::get<Ns>(data))...); \
  @@ -292,7 +292,8 @@ private: \
  ::gko::syn::as_list<::gko::syn::range<0, sizeof...(Args)>>; \
  \
  public: \
  - _name##_operation(Args &&... args) : data(std::forward<Args>(args)...) \
  + explicit _name##_operation(Args &&... args) \
  + : data(std::forward<Args>(args)...) \
  {} \
  \
  const char *get_name() const noexcept override \
  