#pragma once
namespace gp {
template<typename T>
T identity(T v){return v;}
T& identity(T& v){return v;}
}