Use "free" functions
Add equality concept