#define FOO(X) \
	template <unsigned _blk_sz, typename _run_type, class __pos_type> \
	inline X<_blk_sz, _run_type, __pos_type> operator - ( \
		const X<_blk_sz, _run_type, __pos_type> & a, \
		typename X<_blk_sz, _run_type, __pos_type>::_pos_type off) \
	{ \
		return X<_blk_sz, _run_type, __pos_type>(a.array, a.pos - off); \
	} \
	template <unsigned _blk_sz, typename _run_type, class __pos_type> \
	inline X<_blk_sz, _run_type, __pos_type> & operator -= ( \
		X < _blk_sz, _run_type, __pos_type > & a, \
		typename X<_blk_sz, _run_type, __pos_type>::_pos_type off) \
	{ \
		a.pos -= off; \
		return a; \
	}

