relax type trait requirements