made Value<T> be constructible from Input<T>, propagated constness