template <typename ValueType>
class Value
{
public:
   template<typename PVT>
   void mult(const Value<PVT>& other)
   {
      val = val * other.val;
   }
   void easy(const Value<ValueType> other)
   {
      val = val * other.val;
   }
   ValueType val;
};

template class Value<float>;
template void Value<float>::mult<>(const Value<float>&);
