Implements different data types

Even though only equality is supported right now.