don't export shared typedefs and allow unsharing them using typedef unshared