fix mpl hierarchy, shouldn't keep const
assert that type in native is not a reference or const qualified