cleanup workaround
rename traits detector for clarity
misc enum