parameterize types and join UniqueDef' from Migration and Core