fix: comparable generic