mk* in lin now depends on semantic type