boost MPL logic to support a default cost_type